代码拉取完成,页面将自动刷新
jwt component for laravel
集成jwt
step1. 引入
composer require ktnw/jwt_support
step2. 发布
php artisan vendor:publish --provider="Ktnw\JwtSupport\Providers\JwtSupportServiceProvider"
step3. 修改中间件的namespace
php artisan support:jwt
step4. 生成jwt的加密秘钥
php artisan jwt:secret
step5: 修改配置文件
'jwt_refresh' => \App\Http\Middleware\JwtRefresh::class
修改后,即可在路由中使用该中间件。
'guards' => [
'api' => [
'driver' => 'jwt', // 原为token 现改为jwt
'provider' => 'users',
'hash' => false,
]
],
providers->users->model改为: 自己的用户ORM类;
示例如下:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\SysUser::class, // 这里根据业务需求,改为用户ORM类;
],
],
step6.配置用户ORM类
namespace App\Models;
use App\Traits\BaseModelTrait;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as AuthUser;
use Tymon\JWTAuth\Contracts\JWTSubject;
/**
* Class User.
*
* @package namespace App\Models;
*/
class User extends AuthUser implements JWTSubject
{
use Notifiable;
protected $fillable = [];
protected $hidden = [];
protected $table = 'users';
public $timestamps = FALSE;
/**
* Get the identifier that will be stored in the subject claim of the JWT.
*
* @return mixed
*/
public function getJWTIdentifier()
{
return $this->getKey();
}
/**
* Return a key value array, containing any custom claims to be added to the JWT.
*
* @return array
*/
public function getJWTCustomClaims()
{
return [];
}
}
step7. 建议把jwt.php配置文件中的JWT_SECRET、JWT_TTL、JWT_REFRESH_TTL等配置信息放到.env的配置文件中。
####jwt生成TOKEN示例 注: $authUser为step6中配置的用户类的实例。
use Tymon\JWTAuth\Facades\JWTAuth;
// 第一种生成token方式
$jwtToken = JWTAuth::fromUser($authUser);
// 第二种生成token方式
$jwtToken = auth('api')->login($userInfo);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。