自定义jwt令牌生成器

1.0.0 2024-03-21 20:13 UTC

This package is auto-updated.

Last update: 2024-09-21 21:27:03 UTC


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