使用 token 认证就不会有任何问题了吗?

前端会有让 token 失效的需求,比如登出,因此需要向后端发请求,让后端保存一个让 token 失效的信息,比如后端存在数据库中,那么每次前端发请求的时候都要去查一次数据库,这显然与我们初衷不符。后端可以在生成 token 的时候给 token 配置一个失效时间,一般而言,这个失效时间很短(0.5-1h),这样,即使 token 在前端泄漏,但是由于其有效期很短,因此并不会造成很大的安全事故。然后 token 很短的话,对用户体验很不好,很可能造成用户在使用的过程中被强制退出,让用户重新登录,因此 access_tokenrefresh_token 应运而生。

  • access_token: 用来授权认证的,也就是我们前面提到的 token,一般是用 JWT。
  • refresh_token: 一般是用来获取 access_token 的,可以是也可以不是 JWT,通常建议不是,而是一个随机数,存在数据库中,有效期也比较长。存在数据库中的好处是随时可以将其删除,比如登出的时候就可以将 refresh_token 从数据库中删掉。

总结来说,access_token 是调用授权关系接口的调用凭证,由于 access_token 有效期较短,当 access_token 超时后,可以使用 refresh_token 进行刷新,access_token 刷新结果有两种:

  1. 若 access_token 已超时,那么进行 refresh_token 会获取一个新的 access_token, 新的超时时间;
  2. 若 access_token 未超时,那么进行 refresh_token 不会改变 access_token, 但超时时间会刷新,相当于续期 access_token。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值