双token认证的实现流程图
创作时间:
作者:
@小白创作中心
双token认证的实现流程图
引用
CSDN
1.
https://blog.csdn.net/chaijingqi/article/details/137779038
单token机制
认证机制
单token认证机制在项目中仅使用一个Access Token的访问令牌进行用户身份认证和授权的方案处理。
实现步骤
- 发送验证码:用户提交手机号码后,后端生成一个随机的验证码,并将其与用户手机号码关联。然后,后端将验证码使用JWT编码,并将其发送到用户的手机。
- 验证验证码:用户输入收到的验证码后,前端将其发送到后端。后端验证该验证码是否有效,并返回一个包含用户信息的JWT令牌。
- 登录:前端将JWT令牌存储在本地,并在后续的请求中将其发送到后端作为身份验证的凭据。
不足之处
- 令牌过期问题:单一令牌机制可能存在过期问题。如果令牌的有效期太长,可能会增加安全风险;而如果有效期太短,用户可能需要频繁地重新登录。解决方法可以是使用短期令牌,并结合刷新令牌机制来延长会话时间。
- 令牌泄露风险:一旦令牌泄露,黑客可以使用该令牌冒充用户进行操作。为了减少泄露风险,可以采用HTTPS传输协议,并在令牌中包含较少敏感信息,以及采用其他安全机制如IP限制或设备识别等。
- 单点故障:如果使用单一令牌机制,一旦令牌被篡改或失效,用户可能需要重新登录所有相关的服务。使用分布式令牌管理系统或者采用多因素身份验证可以降低这种风险。
- 跨设备登录问题:如果用户在多个设备上登录,可能需要频繁刷新或重新获取令牌。这可能会增加用户体验的复杂性。可以考虑使用多设备登录管理机制或长期持久化令牌来解决这个问题。
- 权限控制不灵活:单一令牌机制可能无法灵活地控制不同用户或不同角色的权限。在这种情况下,可以结合使用令牌和访问控制列表(ACL)等机制来实现更灵活的权限管理。
安全性较低(因为只有一个token在客户端和服务器端之间进行传递,一旦Access Token被截获或者被泄露,攻击者就会在有效时间内完成模拟用户行为,访问所有受保护资源)
短有效期策略限制无法撤销会话(为了提高安全性access token通常设置的时间是比较短的,然而需要频繁的去获取access token,影响的是用户的体验,尤其是长时间操作或者是后台的服务场景下就会遇到一个瓶矜,而且也无法撤销对应的汇报,如果某个token被盗用了,难以立即撤销这个token的有效性,从而不能立即中断攻击者的访问权限)
无代态刷新问题(若要自动去刷新token维持长期的绘画,单token的机制需要将刷新的逻辑耦合到具体的业务流程当中,这就会增加复杂性和潜在的安全风险)
没有权限细分管理(单一的access token包含所有的授权信息,不易于对不同范文或者是力度的一个资源进行精细化的访问控制)
双Token机制
操作机制
双Token主要包含了AccessToken (访问令牌) 和 RefreshToken (刷新令牌),它的出现就是为了解决单token的不足,所以才会引入双token的机制也就是 RefreshToken (刷新令牌),因为它可以延长实际的绘画时间,用户提供了一种安全的方式来去更新AccessToken,并且在必要的时候撤销特定用户的权限,而并不会影响有效的绘画内容。
实际上双token的机制是 o os 2.0标准中常见的一种实现,主要包含两个类型的token,一个是AccessToken (访问令牌) ,一个是RefreshToken (刷新令牌)
- AccessToken (访问令牌):它会设置一个有效时间较短的令牌内容,用于的是用户每次请求受保护资源时,进行身份验证的操作,通常直接包含在api请求头或者是URL地址参数之中,用于证明客户端其实是有权限去访问特定的资源的
- RefreshToken (刷新令牌):刷新令牌,会设置一个有效时间比较长并且安全存储比较高的一个令牌,主要用于AccessToken过期了以后,去重新获取AccessToken的操作内容。我们并不需要用户去提供一个特殊的登录凭证。因为RefreshToken 一般不会频繁的在网络上进行传输,目的就是为了降低被截取的一个风险
双token的优势
- 安全性提升:因为AccessToken和RefreshToken其实是会被分离的,即使AccessToken被盗用了,但是由于有效时间是比较短的,损失还是可以控制的,同时RefreshToken的安全性则会变的更高,一般还不暴露在网络的传输过程当中,攻击者其实很难窃取到AccessToken长期的有效访问权限
- 用户体验优化:RefreshToken可以实现无感知的token刷新,也就是我们所说的无感刷新,因为当AccessToken失效的时候,客户端就会自动去刷新AccessToken,利用的就是RefreshToken,用户并不需要进行一个重新的登录,从而保证操作的连贯性
- 权限控制灵活:而且双token机制还有很好的权限控制灵活性,可以通过控制RefreshToken的有效期,刷新次数等方式来灵活的管理用户的绘画生命周期,并且在必要的时候去撤销RefreshToken的内容从而终止后续所以AccessToken的一个访问生成
双token的实现流程图
热门推荐
"信阳毛尖"啤酒或侵权?文新茶叶:相关产品元旦更名
寻物 | 唯有牡丹真国色,《国色芳华》中的唐风美学
未来5年什么样的房子最“保值”?是大户型?地段好还是物业好?
如何在黄金交易中实现资产的保值增值?这种保值增值的策略如何制定?
双人协作需要注意什么
半月板撕裂需要手术吗?一文读懂治疗方案
成都附二中医医院科普:你能分得清瑜伽和普拉提的区别吗?
如何举报公司有违法行为?一文详解举报途径与法律权益保护
恩替卡韦服用指南:三个关键要点助你正确用药
当年轻人开始反向消费,品牌能做点什么?
战力断崖式下降的明军,在投降清朝后为什么突然变强了?
美国斯坦福大学:AI驱动的连续血糖监测技术,革新2型糖尿病诊断
土木想转项目管理怎么办
智能建造师:建筑领域的智慧先锋
小小色素痣,需要就医吗?
固定单价合同能调整单价吗?专业律师详解合同调整条件
模型部署:从训练到生产环境的最佳实践
基于Arduino的智能避障小车
Arduino 蓝牙循迹避障三轮小车制作教程
个人隐私权再度回归!上海带头取消强制刷脸入住酒店,中国再次和国际接轨的信号?
卡布奇诺玫瑰花语与寓意(浪漫之语的醇香诠释)
玫瑰的植物分类与特征(探索玫瑰所属的植物类型及其生态特征)
同为五代战斗机,中美俄三国的主力机为何差异如此巨大?
嘉靖皇帝险遭宫女勒杀事件始末
嘉靖宗室五大案件:揭示明朝皇室的权谋与纷争
四大较为权威的世界大学排名一览(结尾附官网链接)
朱厚熜与嘉靖新政:一位能力显著的皇帝与他的治理成就
Excel灰色关联度预测模型:从入门到实战
奥运游泳:中国队奖牌数创历史!2金3银7铜收官 潘展乐最耀眼
中国游泳队巴黎奥运完美收官:12枚奖牌创历史最佳,潘展乐张雨霏闪耀赛场