为什么要双token

最近学习到了双token机制,这里说下我个人的理解

我设计的双token的流程即在用户登录时返回两个token,称为access_token和refresh_token,访问接口时,携带access_token,当access_token过期后,让前端携带refresh_token请求刷新token的接口获取新的两个token

refresh_token的过期时间一般设置为access_token的两倍

双token的好处是可以实现token的无感刷新,并且不会让用户一直保持登录状态,可以通过区分活跃用户和非活跃用户来实现让活跃用户来无感刷新。所谓活跃用户在双token中可以理解为access_token过期但是refresh_token没有过期时去访问程序的用户。非活跃用户如果较长时间没有登录过了,那么会导致使用refresh_token去请求刷新接口,因为refresh_token已经过期,那么也会刷新失败,需要重新登录。

双token还有一个好处就是安全性,因为前端每次都是携带过期时间较短的access_token,如果这个access_token被盗,那么利用的时间比较短。而且可以通过设置让refresh_token拥有独特的校验机制,使得access_token就算被盗用也无法作为refresh_token去获取新token,保障安全。

refresh_token只有在access_token过期的时候才会发送,安全性比较好,但是也是存在被盗窃的风险的

双token的缺点也是有的,access_token在得到刷新的结果前会有一段时间处于不可用的状态,为避免这种情况,前端可以主动判断token过期时间(由后台在返回token时返回),如果时间临近了,就主动去发送刷新请求

以上只是个人在学习中的见解,还有很多不足之处,各位大佬们可以批评指正

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值