Token续期最佳实践:双Token前后端配合方案详解
创作时间:
作者:
@小白创作中心
Token续期最佳实践:双Token前后端配合方案详解
引用
CSDN
1.
https://blog.csdn.net/m0_58600248/article/details/138916457
在现代Web应用中,Token续期是一个重要的安全机制,它确保了用户在长时间使用应用时不会因为Token过期而被迫重新登录。本文将介绍一种双Token(access token和refresh token)的前后端配合方案,详细描述了该方案的流程和具体实现步骤。
双Token,前后端配合方案
以下是我们正在采用的流程图
方案:
- 双token方案意味着有两个token, access token 和 refresh token, access token是每次请求携带的token, 为了安全和减少暴露,通常设置的时间较短,我们设置为15分钟,不同行业有不同的需求,我们对于安全性比较重视,所以设置的时间偏短。 refresh token 我们设置为一小时过期,refresh token过期后就不在续期,让用户重新登陆
- 前端需要配置做的步骤,会设置请求拦截器,如果拦截到返回结果是401并且错误信息是token过期,则会在拦截器中发送refresh token请求
- 前端会监控用户活跃时间,我们设置用户的空闲时间是10分钟,如果用户长时间没有操作,则会填提示框询问用户是否需要继续停留在该页面,该提示框会等待三分钟,如果三分钟没有任何操作或者点击了取消,则前端会进行token 的清除,让用户回到登录页面。如果点击了确定,则会发起refresh token请求,刷新所有的token。
实现步骤
- 用户点击登录,前端携带用户名密码发起请求,后端返回access token和refresh token
- 前端保存token信息到local storage
- 将access token放到请求头发起访问数据请求
- 后端校验access token是否过期,过期则返回401和token过期信息
- 前端通过请求拦截,拦截到401 和token过期信息。再拦截请求里面再次发送refresh token请求刷新,这里面可能会存在其他携带旧的token请求,这时候可以放这些失败请求放到队列中,保证只有一个请求去请求刷新就好。这时候,会将refresh token放到请求头中发起刷新token的请求。
- 后端返回全新的refresh token和access token,我们保证了refresh token过期时间一定会比access token时间长。同时,如果用户一直操作,就不存在token过期就被弹出页面的问题。
- 前端接收到新的refresh token和access token后,就可以替代浏览器本地的token,同时原来因token过期不成功的请求可以再次发送。
- refresh token过期,如果用户长时间不操作,就会直接回到登录页面。
热门推荐
冰敷和热敷分别适用于什么情况
9种设计风格分享,解析与色调搭配值得收藏
巴拿马运河费用下调15% 全球贸易迎来新机遇
解决重装系统引导失败问题:五大步骤详解与实用技巧
了解 GPS 跟踪器的准确性:它是如何工作的以及如何提高它
卫生间地面防水材料哪种好?
管道的12种连接方式
桃花是春天的什么?桃花是春天的象征!
先天性髋关节发育不良会遗传吗
共享电动车未配备安全头盔致人受伤,法院这样判
西宁市开展食品安全"你点我检"进企业活动
工业路由器与家用路由器的区别
光辉城市:如何设计理想之城?
如何挑选到合适的不锈钢浴室柜?
怎样防止宝宝流鼻血
《焚城》:表意含混的港风大片
如何高效拍摄油菜花田而不显俗气:技巧、穿搭与构图详解
科学优化牛群助力牧场效益提升
五十肩是什麼?中醫師教你快速舒緩及治療肩周炎
宝可梦大集结仙子伊布玩法攻略:技能搭配与实战技巧详解
哈佛大学研究显示:拥有这4种生活方式的人,更长寿
钢筋锚固长度规范表格及计算公式详解
服装面料高能电子束辐照接枝技术,改善面料的阻燃,抗菌和抗皱性能
芒硝是什么?功效、使用方法与注意事项全解析
月季花怎么修剪,掌握些技巧,助力花朵绽放更灿烂
健脾化痰的中药有哪些
1兆是一万亿吗?真正的答案超乎你想象
古诗里的大地,千年诗行中的自然与人文
微观察 | 日薪5千+ 月入10万+ 摆摊的年轻人真的这么赚?
探秘贵州小七孔六日深度游:自然美景与民族文化交融之旅