使用laravel中jwt-token?组件(三)

使用laravel中jwt-token?组件(三)配置文件介绍

前面介绍了jwt的组成,以及怎么手动实现,现在我们就要使用那些有才能的人为我们封装好的组件,我们直接使用,就是调用别人的方法,调一下配置文件就OK了。

首先我们来修改一下config/jwt.php这个配置文件

return = [
'secret' => env('JWT_SECRET','xxxyyyzzz'),//这个就是我们运行php artisan jwt:secret生成的秘钥,它就在我们的.env文件里

/**
在1.0版本里,这里多了一项配置  key,这个key也是有两种访问修饰权限的,分别是
public
private
很好理解吧
*/
'key' => [
	'public' => env('JWT_PUBLIC_KEY'),
	'private' => env('JWT_PRIVATE_KEY'),
	//私钥的密码
	'passphrase' => env('JWT_PASSPHRASE'),
],
];

接下来是它的三个时间设置

  • ttl 【这个代表令牌有效的时间长度,默认的是一个小时】
    ['ttl' => env('JWT_TTL', 60)]
  • refresh_ttl 【刷新时间】这个刷新时间,很多文档都有不同的见解【可以去百度然后自己试验】
    ['refresh_ttl' => env('JWT_REFRESH_TTL', 20160)]
  • 宽限时间
    宽限时间是为了解决并发请求的问题,假如宽限时间为 0s ,那么在新旧 token 交接的时候,并发请求就会出错,所以需要设定一个宽限时间,在宽限时间内,旧 token 仍然能够正常使用。
// 宽限时间需要开启黑名单(默认是开启的),黑名单保证过期token不可再用,最好打开
'blacklist_enabled' => env('JWT_BLACKLIST_ENABLED', true)

// 设定宽限时间,单位:秒
'blacklist_grace_period' => env('JWT_BLACKLIST_GRACE_PERIOD', 60)
  • 设定header头部中所设定的加密算法 algo
    'algo' => env('JWT_ALGO', 'HS256')这些都是可以按照自己需要所设定的
  • 这些是预定义荷载,在上一篇中有介绍过呢
'required_claims' => [
        'iss',
        'iat',
        'exp',
        'nbf',
        'sub',
        'jti',
    ],
  • 我们还可以添加一些关于我们自定义的荷载哦
'persistent_claims' => [
        // 'foo',
        // 'bar',
]
  • cookie 是否加密
    'decrypt_cookies' => false,默认是不加密的

  • 剩下最下面的是一个providers的数组
    1.第一个类'jwt' => Tymon\JWTAuth\Providers\JWT\Lcobucci::class这个里面的就是我们创建和验证【或者说解锁】令牌的类
    2.第二个类'auth' => Tymon\JWTAuth\Providers\Auth\Illuminate::class验证用户
    3.第三个类'storage' => Tymon\JWTAuth\Providers\Storage\Illuminate::class指定用于在黑名单中存储令牌的提供程序

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值