lgrevelink/laravel-simple-jwt

用于在Laravel/Lumen项目中使用php-simple-jwt包的实用工具。

0.1.2 2020-04-09 09:31 UTC

This package is auto-updated.

Last update: 2024-09-09 19:44:23 UTC


README

Test Suite Status Total Downloads Latest Stable Version License

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