lgrevelink / laravel-simple-jwt
用于在Laravel/Lumen项目中使用php-simple-jwt包的实用工具。
0.1.2
2020-04-09 09:31 UTC
Requires
- php: >=7.1
- illuminate/console: >=5.7
- illuminate/support: >=5.7
- illuminate/validation: >=5.7
- lgrevelink/php-simple-jwt: ^0.2
Requires (Dev)
- laravel/framework: >=5.7
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-09-09 19:44:23 UTC
README
Laravel和Lumen的实用工具,以启动使用PHP Simple JWT包。
支持的特性;
- JWT蓝图(
make:jwt-blueprint
)的Artisan命令 - JWT验证的验证规则
安装
composer require lgrevelink/laravel-simple-jwt
对于Laravel
Laravel的自动发现可以直接注册服务提供者,因此应该立即可用。如果您不使用自动发现,请在config/app.php
中向提供者数组添加SimpleJwtServiceProvider
。
LGrevelink\LaravelSimpleJWT\Providers\SimpleJwtServiceProvider::class
通过添加服务提供者,直接注册了Artisan命令和验证器。
对于Lumen
在Lumen中使用此包需要在bootstrap/app.php
中注册服务提供者。
$app->register(LGrevelink\LaravelSimpleJWT\Providers\SimpleJwtServiceProvider::class);
验证器规则的自动扩展仅在设置好Facades时才有效。这可以通过在bootstrap/app.php
中启用withFacades
选项来完成。别名不是必需的。
$app->withFacades();
使用方法
生成器命令
设置完成后,生成第一个Blueprint非常简单。
php artisan make:jwt-blueprint MyFirstBlueprint
一系列问题会跟随JWT支持的默认声明的设置。不想使用的值可以留空,不会添加。蓝图将被放置的默认命名空间是App\JwtTokens
。
所有与日期相关的声明(例如过期时间)都视为从生成那一刻起的时间相对值。有关Simple JWT包及其使用的更多信息,请参阅此处。
验证器
使用验证规则有两种通用方式。
基本使用
$request->validate([ 'foo' => 'jwt', 'bar' => new ValidJwt(), ]);
这仅验证令牌是否有有效的JWT结构。
蓝图使用
$request->validate([ 'foo' => 'jwt:' . App\JwtTokens\MyFirstBlueprint::class, 'bar' => new ValidJwt(App\JwtTokens\MyFirstBlueprint::class), ]);
这直接将令牌与给定的蓝图进行验证。
测试
测试是用PHPUnit编写的,可以通过以下Composer命令运行;
composer run test