zendrop / laravel-jwt
v2.13
2024-09-26 11:57 UTC
Requires
- firebase/php-jwt: ^6.8
- laravel/framework: ^9|^10|^11
Requires (Dev)
- laravel/pint: ^1.13
- phpstan/phpstan: ^1.10
- slevomat/coding-standard: ^8.14
- squizlabs/php_codesniffer: ^3.7
This package is not auto-updated.
Last update: 2024-09-26 12:37:37 UTC
README
本软件包提供了一种简单的方法,在Laravel应用程序中使用JWT(JSON Web Tokens)作为身份验证保护。
安装
需要软件包 zendrop/laravel-jwt
composer require zendrop/laravel-jwt
设置
安装后,您需要在 config/app.php
中添加服务提供者
'providers' => [ ... Zendrop\LaravelJwt\LaravelJwtAuthServiceProvider::class, ]
并使用命令发布软件包配置
php artisan vendor:publish
别忘了运行迁移
php artisan migrate
配置
在配置文件夹中修改生成的 config/laravel-jwt.php
以满足您的需求
- 算法:设置您希望使用的JWT算法(默认为HS256)。
- 密钥:指定编码和解码密钥。默认情况下,它使用Laravel .env文件中的APP_KEY。
- 有效载荷:为JWT配置发行者(iss)和有效期(ttl)。
- 黑名单驱动器:指定用于处理黑名单令牌的驱动程序(默认为数据库驱动程序)。
使用方法
HasJwt特质
在您的User模型或任何其他可认证模型中包含HasJwt
特质
use Zendrop\LaravelJwt\HasJwt; class User extends Authenticatable { use HasJwt; ... }
这提供了makeJwt()
方法来为用户生成JWT。
JWT保护
在您的auth.php
配置文件中,您可以定义JWT保护器
'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ... ], 'api' => [ 'driver' => 'laravel-jwt', // Use the JWT guard 'provider' => 'users', ], ... ]
对于有状态的JWT
'guards' => [ 'web' => [ 'driver' => 'laravel-jwt-cookie', 'provider' => 'users', ], ]