asseco-voice / laravel-jwt-authentication
用于解码和验证 JWT 令牌的包
v3.0.1
2023-12-08 12:20 UTC
Requires
- php: ^8.1
- ext-json: *
- guzzlehttp/guzzle: ^7.0
- laravel/framework: ^10.0
- lcobucci/jwt: ^4.0
Requires (Dev)
- fakerphp/faker: ^1.9.1
- mockery/mockery: ^1.4.4
- orchestra/testbench: ^8.5
- phpunit/phpunit: ^10.0
README
Laravel JWT Authentication
此包通过 JWT 令牌实现后端身份验证
安装
通过 composer 安装此包。它将自动注册为 Laravel 服务提供者,因此无需额外操作来注册包。
composer require asseco-voice/laravel-jwt-authentication
为了获取额外的配置运行
php artisan vendor:publish
这会将 asseco-authentication.php 配置文件发布到您的配置目录中
快速使用
使包工作所需的最小要求是在 .env 文件中设置 JWT_PUBLIC_KEY
。这是公钥的存储位置,该公钥将用于验证令牌的签名。
该包即插即用。一旦安装,应用程序将注册一个新的守卫。
'jwt-api' => [
'driver' => 'token',
'provider' => 'token_provider',
],
在您的所需路由上激活它遵循标准的 Laravel 实现。
Route::apiResource('YourResource', 'YourController')>middleware('auth:jwt-api');
这将强制框架使用以下配置从 JWT 令牌解析用户并将其注入为已认证用户。
'token_provider' => [
'driver' => 'jwt_provider'
]
public.pem 密钥将在第一次来自配置的 AUTH_URL
的请求中获取
获取密钥命令
该包附带一个便捷命令。唯一的要求是 env 值 AUTH_URL
。
php artisan asseco:fetch-key
该方法旨在调用配置的端点并从响应中提取公钥。默认情况下,该命令将在响应中查找 public_key
密钥,但可以通过配置文件进行配置。