首页 ->

Lavarel/lumen使用JWT认证并发请求JWT_BLACKLIST_GRACE_PERIOD作用


如使用Lavarel/lumen中jwt认证,必然会涉及3个参数:JWT_TTL,JWT_REFRESH_TTL,JWT_BLACKLIST_GRACE_PERIOD,他们的作用分别如下:
JWT_TTL: 获得访问权限的token 有效的时间长度(以分钟为单位),默认为60分钟,也可以将其设置为空,以产生永不过期的token。
JWT_REFRESH_TTL:可刷新的时间长度(以分钟为单位)。默认的时间为 2 周。大概意思就是如果用户有一个 访问token,那么他可以带着他的访问token ,过来领取新的token,直到 2 周的时间后,他便无法继续刷新了,需要重新登录。
JWT_BLACKLIST_GRACE_PERIOD:当多个并发请求使用相同的JWT进行时, 由于 token 的刷新 ,其中一些可能会失败,以秒为单位设置请求时间以防止并发的请求失败。

网上有关JWT_BLACKLIST_GRACE_PERIOD的解释不多,通过摸索实践,发现这个参数对于并发请求关键:
如果该值默认为0,token刷新后,旧token立即失效,但往往同时有多个并发请求,比如A、B、C三个同时并发,token时间超过JWT_TTL但在JWT_REFRESH_TTL内,如果先执行A,刷新后得到新token,B、C都附带旧token,这个时候再去刷新token就会报已列入黑名单的错误,JWT_BLACKLIST_GRACE_PERIOD(比如设置30)的作用就是保证B、C的旧token在设置30秒时间内是有效的,可以继续刷新获得新token,继续执行,不报错。

但仍有一个问题,A、B、C三个旧token同时有效,并发同时获得三个新token,给jwt造成资源浪费,如果不介意,也没有问题。
如果想要并发只刷新得到一个token,不能仅靠JWT_BLACKLIST_GRACE_PERIOD来控制,需要另外逻辑控制。

主要逻辑就是:A、B、C其中一个请求刷新后,将新token存入数据库或者redis缓存,其他请求先访问数据库或者redis缓存是否存在新token,如果存在,将新token取出,设置在本次请求的header中,用新的token保证继续执行。这样就确保了新token只有一个,其他并发请求通过新token完成各自请求继续前行,不出错。

搜索

最新内容

  • 看豆包怎么说:财鸽记账 vs 随手记 vs 鲨鱼记账
    看豆包怎么说:财鸽记账 vs 随手记 vs 鲨鱼记账

    下面把 财鸽记账 vs 随手记 vs 鲨鱼记账,从定位、功能、费用、界面、适合人群 5 个维度做清晰对比(20…

  • 财鸽记账V3.1.20版本上线
    财鸽记账V3.1.20版本上线

    财鸽记账V3.1.20版本上线啦,新增如下功能: 1.新增按下属用户搜索记账流水功能。2.新增产品库存计量单位…

  • 财鸽记账V3.1.19版本上线
    财鸽记账V3.1.19版本上线

    财鸽记账又更新了,V3.1.19版本正式上线,主要变化如下: 1.新增财务收支流水、产品出入库流水自定义排序功…

  • 财鸽记账V3.1.9正式上线
    财鸽记账V3.1.9正式上线

    财鸽记账V3.1.9发布了,新增如下功能: 1.新增按支付方式、客户往来搜索等功能。 2.修复PC版本输入汉字…

  • 财鸽记账PC版如何放大显示
    财鸽记账PC版如何放大显示

    使用腾讯应用宝启动财鸽记账后,可以通过调节字体和宽高比来放大显示。 一、调节字体 在界面右边栏有“调字体”按钮…

  • 财鸽记账PC版上传图片方法
    财鸽记账PC版上传图片方法

    安装腾讯应用宝后,我的电脑将出现“腾讯应用宝文件管理”文件夹,将需要上传的图片拷贝至“腾讯应用宝文件管理\截图…

  • 电脑PC版财鸽记账上线
    电脑PC版财鸽记账上线

    电脑pc版财鸽记账在腾讯应用宝上线,下面教大家如何下载使用。 一、安装腾讯应用宝 进入腾讯应用宝官网https…

  • 财鸽记账V3.1.8正式发布
    财鸽记账V3.1.8正式发布

    财鸽记账迎来了最新V3.1.8版本,主要变化如下: 1.新增批量日常记账、批量出入库、批量资产负债记账等功能。…

  • 财鸽记账V3.1.6正式发布
    财鸽记账V3.1.6正式发布

    财鸽记账迎来了最新V3.1.6版本,主要变化如下: 1.新增支出预算管理、客户关系管理、复制账本等功能。 2.…

  • 财鸽记账V3.0.1版本正式发布
    财鸽记账V3.0.1版本正式发布

    财鸽记账不知不觉迎来了3.0.1版本,界面进行了很多改变,更美观,更灵活。只要您静心研究,您会发现惊喜!