深圳建设工程项目网站,网站正能量晚上在线观看,商城网站制作教程,泉州手机模板建站前言 记录一下前后端分离下————token超时刷新策略#xff01; 需求场景 昨天发了一篇记录 前后端分离应用——用户信息传递 中介绍了token认证机制#xff0c;跟几位群友讨论了下#xff0c;有些同学有这么一个疑惑#xff1a;token失效了#xff0c;应该怎么做… 前言 记录一下前后端分离下————token超时刷新策略 需求场景 昨天发了一篇记录 前后端分离应用——用户信息传递 中介绍了token认证机制跟几位群友讨论了下有些同学有这么一个疑惑token失效了应该怎么做强制定向到登录页 其实理论上如果是活跃用户token失效后假如用户正在操作表单此时突然定向到登录页面那用户体验太差了。 实现目标 延长token过期时间活跃用户在token过期时在用户无感知的情况下动态刷新token做到一直在线状态不活跃用户在token过期时直接定向到登录页登录返回字段 如何签发token请看上一篇推文这里不做过多介绍。先看看登录接口返回的数据如下 1Data 2public class LoginVo implements Serializable { 3 4 private static final long serialVersionUID 6711396581310450023L; 5 6 //...省略部分业务字段 7 8 /** 9 * token令牌 过期时间默认15day10 */11 private String jwt;1213 /**14 * 刷新token 过期时间可以设置为jwt的两倍甚至更长用于动态刷新token15 */16 private String refreshJwt;1718 /**19 * token过期时间戳20 */21 private Long tokenPeriodTime;2223} 具体返回字段的意义请看注释这里再简要说明 jwt用户正常访问接口时提交的token过期时间设置长一些15day吧refreshJwt刷新token 过期时间可以设置为jwt的两倍甚至更长用于动态刷新token时候提交后台验证tokenPeriodTimetoken过期时间戳前端每次调用接口前需要主动判断是否已经过期如果过期则提交refreshJwt访问token刷新的接口进行刷新动态刷新token 前端检测到token过期后携带refreshJwt访问后台刷新token的接口服务端在拦截器中依然对refreshJwt进行解析鉴权 假如refreshJwt也过期了提示登录过期强制跳转登录页假如refreshJwt还在有效期则签发新的token返回前端使用最新的token进行接口请求总结 如果是活跃用户那么允许他在refreshJwt过期时间与token过期时间的差值这段时间内不停的动态刷新token使其做到无感知的状态下一直保持登录状态如果用户不活跃在refreshJwt过期时间到了依然没有使用系统那么将判定为不活跃用户此时应当重定向到登录页了最后 篇幅较短主要是延续上一篇 前后端分离应用——用户信息传递 遗留问题做一下总结。如果你有更好的做法欢迎留言告知我谢谢啦。后续会不定期更新原创文章欢迎关注公众号 「张少林同学」 转载于:https://www.cnblogs.com/zhangshaolin/p/10253613.html