首页 > V2EX > V2EX-观帖“登录最佳实践”有感, jwt token 如何优雅的刷新?
2021
11-25

V2EX-观帖“登录最佳实践”有感, jwt token 如何优雅的刷新?

AllenHua:

原帖点我,一般的业务系统里 jwt token 都是如何刷新的?有没有最佳实践。

亮出一些观点

  • jwt token 没有撤销机制,一旦泄露或者被窃取有安全隐患,所以 token 有效期也不建议设置的太长
  • 每次请求均生成新的 token 返回给前端有比较大的开销,太粗暴了
  • 利用 redis 验证,但是这样的话 jwt token 的 verify 功能就没有充分利用到,为什么还要用 jwt token?
  • 借鉴 oauth2 的设计使用 refresh_token ,对于小的业务系统应该是更加复杂了

在 SpringBoot + redis + jwt token 的技术实践中,我的一点想法:

  1. 充分利用 jwt token 和 redis ,在拦截器中校验用户请求是否有效使用 jwt token 的 verify 和 redis hasKey 联合校验
  2. 设置一个 jwt token 已过期的缓冲区,比如设计 token 有效期 1 小时,但是在超时的 20 分钟内用户可以拿现有 token 换一个新的 token ,实现 token 的刷新。如果用户在此期间一直有操作系统,那么就不用重新登录。如果用户有 80 分钟没有使用系统就需要重新登录

为的是服务器开销和业务需求之间寻求平衡。


网上搜到一些讨论(如下),欢迎大家畅所欲言

from V2EX-最新主题 https://ift.tt/3p2Br7d
V2EX-观帖“登录最佳实践”有感, jwt token 如何优雅的刷新? - 第1张  | 牛C网(NiuL.Net)
牛C网:https://niuc.net
零九导航:https://09.gay

最后编辑:
作者:分享菌
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。