paascloud——JWT续租

开源项目paascloud,JWT续租实现方法

实现原理

  1. 用户登录成功,生成token保存在redis中,过期时间和token过期时间相同。
  2. 用户携带token访问,如果redis中存在该token,用户正常访问,如果没有则直接返回。
  3. 在token快过期的时候,如果用户还在正常操作,则重新生成token返回给前端,实现续租。长时间没有访问的话,则token过期。

源码解析

  1. 在网关中添加post类型过滤器,判断token是否快要过期(20分钟内),快要过期则在响应头中添加续租标志 Renew-Header:true。
  2. 前端调用后台token刷新函数,从新生成token。
  3. token刷新函数
    • 更新redis中旧token的过期时间
    • 生成新的token,保存在redis中,并返回给前端

个人理解:这里更新redis中旧token的过期时间而不是直接删除的原因,是为了防止前端没有接收到新的token,提高系统的容错性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值