采用JWT有效期内刷新Token方案,解决并发请求问题

继前面在Shiro整合JWT+Token过期刷新一文中,已经集成了shiro以及JWT,并且玩儿的开心觉得一切都很自然。然而有一天当看到日志中,同一时间报出了十多条AuthenticationException时,才发现有些东西被忽略了。回顾下我们之前的思路,当服务端在检查到请求的令牌过期之后,会刷新Token重新颁发令牌,并且再次做登录操作,看似平静友好无感知,但试想一下,在页面加载后倘若同一个页面中有多个请求几乎同一时间发起,每一个请求都携带原始令牌,在这样的设计下,就有可能出现在第一个请求到达后刷新了Token,并更改了缓存中的refreshToken的时间戳,以至于剩余请求校验时发现时间戳不一致导致验证失败而在日志中多次打印出当前Token已经失效的log。同时发起的请求越多,log中的异常也就会越多。虽然第一个请求已经刷新了Token,但是其余的请求是失败的,页面中的数据并不完整,显然这是不正常的,那该如何解决呢?... 详情

使用axios的下载,跨域带cookie等问题都总结在这儿了,持续更新

最近一直比较忙碌,年后4个人花了一个半月的时间,撸了一套供应链系统,虽说需求比较清晰,但业务及流程较为繁琐。整体项目依旧采用前后端分离方式,前端使用vue+element的框架。在开发了大量功能后,才遇到了一些实际问题,对前端并不精通只能求助网络,不过仔细看看都不复杂,网上的讲解也都比较详细,所以这里也只简单将使用vue及axios过程中遇到的问题做个总结。... 详情