jwt token自动续期的实现原理如下:
1、登录成功后将用户生成的 jwt token
作为key、value存储到cache缓存里面 (这时候key、value值一样),将缓存有效期设置为 token有效时间的2倍。
2、当该用户再次请求时,通过后端的一个 jwt Filter
校验前端token是否是有效token,如果token无效表明是非法请求,直接抛出异常即可;
3、根据规则取出cache token,判断cache token是否存在,此时主要分以下几种情况
- cache token 不存在
这种情况表明该用户账户空闲超时,返回用户信息已失效,请重新登录。
- cache token 存在,则需要使用jwt工具类验证该cache token 是否过期超时,不过期无需处理。
过期则表示该用户一直在操作只是token失效了,后端程序会给token对应的key映射的value值重新生成jwt token并覆盖value值,该缓存生命周期重新计算。