自定义jwt令牌生成器
1.0.0
2024-03-21 20:13 UTC
Requires
- php: ^8.0
Requires (Dev)
- orchestra/testbench: ^9.0
README
自定义jwt令牌生成器
通过Composer安装
composer require konstantinkotov/jwt
设置
步骤1
您必须开始以下命令
php artisan jwt:install php artisan migrate
这将把必要的迁移文件复制到您的数据库/migrations文件夹。
步骤2
接下来,您需要将JWTSubjectTrait添加到您的User模型中
use Konstantinkotov\jwt\Traits\JWTModelTrait;
如果您需要快速访问令牌,可以将JWTControllerTrait添加到您的控制器文件中。例如
use Konstantinkotov\jwt\Traits\JWTControllerTrait;
您将在控制器内部访问令牌。您可以使用以下方式获取令牌
$token = $this->token();
令牌将在headers参数中的Authorization内搜索。
步骤3
如果您需要为检查准备现成的资源,您可以使用
return (new \Konstantinkotov\jwt\Resources\AccessAllowedResource()); or return (new \Konstantinkotov\jwt\Resources\AccessDeniedResource());
AccessAllowedResource将返回,状态码为200
{ "token": "<your_api_token>", "request_type": "bearer" }
AccessDeniedResource将返回,状态码为401
{ "error": "Unauthorized" }
如何使用
$token = $user->generate();
这将创建一个令牌,并将其保存到用户表中的api_token列。
或者您可以使用JWT类。例如
\Konstantinkotov\jwt\JWT::token()->generate(<token_size>);
默认大小为100。
结果示例
2sxxQfkefRw4XuUX3d2UoPfIEnJIzPZZy.wBL8KdljmfPMPHp5jUk59sQ5xs3cMtPK5.lhmLchEZCpCUkckgukz0AEhkQzJunrT5o.v