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,提高系统的容错性

你可能感兴趣的:(jwt)