React、Redux该如何处理Token过期的情形?
Token在登陆三十分钟后过期(过期时间随着Token一起返回给前端了),前端如何做到在快过期(前十秒)的时候开始提醒用户,并要求重新登录?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
Token在登陆三十分钟后过期(过期时间随着Token一起返回给前端了),前端如何做到在快过期(前十秒)的时候开始提醒用户,并要求重新登录?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
感觉和redux没啥关系,其实你都拿到token了,token又包含了过期时间,那要做的无非拿到token后根据过期时间,设置一个定时操作,比如弹框等
store
中保存token
,存在token时为已登录,否则未登录。请不要做什么快过期之类的操作,要是用户已在其他地方登陆,你这边不管过不过期都失效了。
所以根据后端来判断,如果后端返回一个
未登录
错误,前端应该dispatch
一个event,更新store
,将token
设置为NULL
.token 和有效时间写到 localStorage 里,写一个 getToken 的函数,每次需要使用 token 的时候,通过该函数判断当前时间下 token 是否有效,前十秒的话就在判断的时候多减几秒,有效即得到 token 请求 API,无效则该报错报错,该提醒提醒
不要写到 redux 的 store 里, 那样每次一刷新页面就没了
storage中存储一个过期时间,比如30分钟过期,expire_time 就是三十分钟后的时间戳。
这个思路对吗?还有要完善请高手指教。