Java 杂谈Java技术分享前端&优化

前后端分离——token超时刷新策略

2019-01-11  本文已影响0人  张少林同学
image

前言

记录一下前后端分离下————token超时刷新策略!

需求场景

昨天发了一篇记录 前后端分离应用——用户信息传递 中介绍了token认证机制,跟几位群友讨论了下,有些同学有这么一个疑惑:token失效了,应该怎么做?强制定向到登录页?

其实理论上如果是活跃用户,token失效后,假如用户正在操作表单,此时突然定向到登录页面,那用户体验太差了。

实现目标

登录返回字段

如何签发token,请看上一篇推文,这里不做过多介绍。先看看登录接口返回的数据如下:

@Data
public class LoginVo implements Serializable {

    private static final long serialVersionUID = 6711396581310450023L;

    //...省略部分业务字段
    
    /**
     * token令牌 过期时间默认15day
     */
    private String jwt;
    
    /**
     * 刷新token 过期时间可以设置为jwt的两倍,甚至更长,用于动态刷新token
     */
    private String refreshJwt;
    
     /**
     * token过期时间戳
     */
    private Long tokenPeriodTime;

}

具体返回字段的意义请看注释,这里再简要说明:

动态刷新token

前端检测到token过期后,携带refreshJwt访问后台刷新token的接口,服务端在拦截器中依然对refreshJwt进行解析鉴权

总结

最后

篇幅较短,主要是延续上一篇 前后端分离应用——用户信息传递 遗留问题做一下总结。如果你有更好的做法,欢迎留言告知我,谢谢啦。后续会不定期更新原创文章,欢迎关注公众号 「张少林同学」!

image
上一篇下一篇

猜你喜欢

热点阅读