为什么要使用 refresh_token 刷新token

refreshToken就是用来在accessToken过期以后来重新获取accessToken的

1、使用流程

  1. 登录成功获得 refresh token 并持久化
  2. 通过 refresh token 请求刷新得到 access token 并临时储存
  3. 请求业务接口使用 access token
  4. access token 过期或者快过期再次回到「 2 」
  5. refresh token 也过期则生命周期结束,需重新登录

2、使用场景

  1. 如果是一个前后端分离的项目,使用springsecurity+jwt这种,前端用户在登录以后,后端返回给前端一个accessToken,如果没有refresh token,又因为因为安全原因accessToken过期时间会设置的比较短,在accessToken过期以后,用户将会被强制重新登录,影响用户体验
    而如果使用refresh Token,如果用户持续地访问这个网站,他们可以一直保持登录状态,而不需要定期重新登录

  2. 如果是业务服务器之间的相互调用,那么此时只用一个Access Token即可,强制重新登录影响不大,只不过是如果使用 Refresh Token 在获取新的 Access Token 的时候比直接重新登录会方便一小丢丢

3、从是否需要读取额外的状态来看

token 的过期时间一般会比 refeshToken 的过期时间短很多,保证 token 被盗取后无法持久的做坏事,通过 AccessToken 访问,只要通过签名校验合法即可通行,无需读取额外的状态来进一步确认是否撤销,当 AccessToken 过期以后再通过 RefreshToken 读取额外的状态(数据库 /缓存)确认是否继续签发

4、从安全程度来看

  1. access token 有效期短 被盗损失更小 安全性更高
    如果refresh token被盗了 想刷新access token的话 也需要提供过期的refresh token 盗取难度增加
  2. 同时refresh token只有在第一次获取和刷新access token时才会在网络中传输,因此被盗的风险远小于access token 从而在一定程度上 更安全了一点
  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值