一、该问题的重现步骤是什么?
1. 登录系统后访问一个页面获取接口正常,10分钟左右未操作, 再调接口时报未授权,localstorage里token已经为空,token不是有定时refresh机制吗?刷新秒数配置的 604800,大概是7天,为何这么短就失效?前端为何用着用着就会把token清空呢?是不是有潜在bug? 相关代码如何排查调试? 因为用户那边是以物联网数据监控为主,可能长时间不操作,频繁弹出“未授权”,退到登录页,影响很大。因为不只是一个项目,多个项目均有此现象,用户反馈严重影响体验,希望能根本解决,不然动不动就退出让用户觉得系统不稳定。
3.
二、你期待的结果是什么?实际看到的又是什么?
刷新秒数 604800,大概是7天,为何这么短就失效?是不是有bug? 因为用户那边是以物联网数据监控为主,可能长时间不操作,频繁弹出“未授权”,退到登录页,影响很大。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex 4.2 saber3 win10
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
我们只写业务,肯定是不会动这块框架机制的。今天早上又出现了,有些随机性,难以准确复现,按理说如果token过期,新版本会自动下去请求refreshtoken接口来刷新,正常情况是不会直接过期的,应该是有潜在的缺陷,比较担心随时会崩。以下是复制前端的:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ0ZW5hbnRfaWQiOiIwMDAwMDAiLCJ1c2VyX25hbWUiOiJhZG1pbiIsInJlYWxfbmFtZSI6IueuoeeQhuWRmCIsInRva2VuX3R5cGUiOiJhY2Nlc3NfdG9rZW4iLCJyb2xlX25hbWUiOiJhZG1pbmlzdHJhdG9yLGhvdGxpbmUiLCJwb3N0X2lkIjoiMTEyMzU5ODgxNzczODY3NTIwOCwxODE4OTIyODgxOTQyMzM1NDkwIiwidXNlcl9pZCI6IjExMjM1OTg4MjE3Mzg2NzUyMDEiLCJyb2xlX2lkIjoiMTEyMzU5ODgxNjczODY3NTIwMSwxODA3NzA0OTYyMzE5ODg4Mzg1Iiwibmlja19uYW1lIjoi566h55CG5ZGYIiwiZGV0YWlsIjp7InR5cGUiOiJ3ZWIifSwiZGVwdF9pZCI6IjE4MDgwMzcwMTM5MjQ5Mzc3MzAiLCJhY2NvdW50IjoiYWRtaW4iLCJjbGllbnRfaWQiOiJzYWJlciIsImV4cCI6MTczNTA5NzI0NCwibmJmIjoxNzM1MDkzNjQ0fQ.i3DanwaTHC1eYof0F2hkk_3ilH4lXG3IZnmuxCdtmvE refreshToken:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJpc3N1c2VyIiwiYXVkIjoiYXVkaWVuY2UiLCJ1c2VyX2lkIjoiMTEyMzU5ODgyMTczODY3NTIwMSIsInJvbGVfaWQiOiIxMTIzNTk4ODE2NzM4Njc1MjAxIiwidG9rZW5fdHlwZSI6InJlZnJlc2hfdG9rZW4iLCJkZXB0X2lkIjoiMTEyMzU5ODgxMzczODY3NTIwMSIsImNsaWVudF9pZCI6InNhYmVyIiwiZXhwIjoxNzM1Njk3NzQxLCJuYmYiOjE3MzUwOTI5NDF9.mfQ379sFqih2htNgPPfjql4EokmJwt-nnXf47nAtWWA
解析结果是空指针,就这样解析的 为空
你的token是11点27分过期,触发了401。正常会自动执行refresh_token去刷新token,但是你之前的截图是没有调用token接口进行刷新的。你需要去检查一下无感刷新的功能。
最好就是按照我说的来,你去部署一套bladex最新版的原版,看看过期后会不会自动刷新token。
我刚才找了多名程序员了解了一下情况,主要是3.4及以前版本比较频繁,4.2版本暂时未发现此情况。原因应该是前端没有调后端的接口,这块前端也确定没有动过。我让他们按你说的部署一个空的3.4版本的测一测,再反馈。
3.x是定时刷新token来续期的,你们改造下axios,参考最新版本的axios,把它改成无感刷新的逻辑就行了。
能不能提供一些这方面的资料,比如流程说明,调成功如何,不成功如何,或者代码片段及截图之类的? 我们研究一下这块
没有,只看axios.js就行了
那我直接用4.2版本的替换3.4 axios.js行吗
稍微有点不一样,一共就200行代码,比对更新一下
扫一扫访问 Blade技术社区 移动端