red-jasmine / jwt-auth
JWT Authentication package for Red Jasmine Framework
Installs: 1
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/red-jasmine/jwt-auth
Requires
- red-jasmine/support: ^1.0
- tymon/jwt-auth: ^2.2
This package is auto-updated.
Last update: 2026-01-20 15:57:12 UTC
README
JWT认证包,为Red Jasmine框架提供灵活的JWT认证功能。
特性
- 自定义UserProvider,支持从token直接解析用户信息
- 支持多模型配置,可根据不同用户类型使用不同的模型
- 无需数据库查询即可从token中获取用户信息
- 兼容Laravel认证系统
安装
composer require red-jasmine/jwt-auth
配置
1. 发布配置文件
php artisan vendor:publish --provider="RedJasmine\JwtAuth\JwtAuthServiceProvider" --tag="config"
2. 配置认证提供者
在 config/auth.php 中添加JWT提供者配置:
'providers' => [ 'jwt' => [ 'driver' => 'jwt', 'models' => [ 'user' => \App\Models\User::class, 'admin' => \App\Models\Admin::class, // 更多类型... ], ], ],
3. 配置守卫
'guards' => [ 'api' => [ 'driver' => 'jwt', 'provider' => 'jwt', ], ],
使用
生成Token
use Illuminate\Support\Facades\Auth; // 登录用户 $user = User::find(1); $token = Auth::guard('api')->login($user);
验证Token
use Illuminate\Support\Facades\Auth; // 从请求头中获取token $user = Auth::guard('api')->user();
多模型支持
// 为用户类型生成token $token = Auth::guard('api')->login($user, 'user'); // 为管理员类型生成token $token = Auth::guard('api')->login($admin, 'admin');
架构
本包采用以下架构设计:
- JwtUserProvider: 自定义用户提供者,实现从token解析用户信息
- JwtGuard: JWT守卫,处理token验证和用户认证
- JwtAuthServiceProvider: 服务提供者,注册认证驱动和配置
许可证
MIT License