vdomah/jwtauth-plugin
October CMS 的 JWTAuth 插件,提供基于令牌的身份验证
Requires
- php: >=5.5.9
- tymon/jwt-auth: 0.5.*
This package is not auto-updated.
Last update: 2024-09-29 06:08:51 UTC
README
为您的 OctoberCMS API 集成 RainLab.User 的 JSON Web Token 身份验证
此插件为您的应用程序提供基于令牌的身份验证。它基于 Sean Tymon 的优秀包 JSON Web Token Authentication for Laravel & Lumen。
要求
RainLab.User 插件
安装
-
【不再需要】插件安装后,您需要将 /plugins/vdomah/jwtauth/config/auth.php 复制到 {root}/config/auth.php。如果您想更改 auth.php 的参数值,可以使用 .env 中的环境变量(请参阅“环境选项”部分)。{root}/config/auth.php 仍然受支持,并具有最高优先级,高于 /plugins/vdomah/jwtauth/config/auth.php。
-
生成 JWT 身份验证密钥。它将用于签名您的令牌。您有 2 个选项
- 使用命令行生成
您需要将生成的值分配给 .env 中的 JWT_SECRET。php artisan jwt:generate
- 转到后端 > 设置 > JWTauth 设置,单击生成密钥并保存。此值具有最高优先级,将覆盖 .env 中的 JWT_SECRET 值。
- 使用命令行生成
端点
该插件提供 4 个端点
-
/api/login
尝试进行身份验证,如果成功则返回令牌。此外,响应中还包括基本用户信息。默认情况下,期望接收 2 个参数:电子邮件和密码。
-
/api/signup
尝试创建用户,如果成功则返回令牌。响应中包括用户信息。默认情况下,期望接收 3 个参数:电子邮件、密码和密码确认。
-
/api/refresh
尝试刷新令牌,并返回新令牌。默认情况下,期望接收 1 个参数:令牌。
-
/api/invalidate
尝试使给定的令牌无效 - 这可以用作额外的预防措施来注销用户。默认情况下,期望接收 1 个参数:令牌。
环境选项
您可以在项目根目录的 .env 中定义这些选项中的任何一个。
JWT 配置
Laravel 身份验证配置
扩展
如何在其他插件中使用此功能?
只需将 ->middleware('\Tymon\JWTAuth\Middleware\GetUserFromToken')
添加到插件 routes.php 路由的末尾。
例如
Route::post('test', function (\Request $request) {
return response()->json(('The test was successful'));
})->middleware('\Tymon\JWTAuth\Middleware\GetUserFromToken');
然后,在发出请求时,将头 "Authorization" 设置为 "Bearer {yourToken}
"
如何定义响应中的自定义用户属性集?
对于注册和登录,通过在您的插件启动方法中扩展用户模型来添加相应的 getAuthApiSignupAttributes 或/和 getAuthApiSigninAttributes 方法。
User::extend(function($model) {
$model->addDynamicMethod('getAuthApiSignupAttributes', function () use ($model) {
return [
'my-attr' => $model->my_attr,
];
});
});