JWT实现自动刷新登录TOKEN
在前后端分离场景下,一般有两种方式来实现
方案一:前端控制TOKEN,无感知刷新
核心逻辑大概是:
每次请求判断token是否过期或者快要过期
如果过期,判断过期时间是否在可刷新token时间范围内,如果在,刷新token,不在则登录
如果未过期,判断距离过期时间还有多长,例如提前10分钟,刷新token
这种方法优点是后端压力小,代码逻辑改动不大
但是现在用的框架是vue-admin,没有深入研究过
方案二:后端判断TOKEN
每次请求都判断token是否过期,快要过期或者已经过期但是在可刷新时间内,刷新token,放在http头中
实现方式
在JWTUtil中添加获取过期时间方法

2.修改JWTFilter,在验证TOKEN时,如果TOKEN过期不直接返回异常,而是判断一下是否在可刷新时间内


