asseco-voice/laravel-jwt-authentication

用于解码和验证 JWT 令牌的包

v3.0.1 2023-12-08 12:20 UTC

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 密钥,但可以通过配置文件进行配置。