最近我在 SpringBoot 和 Kotlin 中开始了我的项目,我想创建用户管理系统。经过几次搜索后,我查看了有关在身份验证过程中实施 JWT 令牌的视频。
除了目前我需要在每次身份验证中传递用户名和密码这一事实之外,一切似乎都运行良好——这意味着调用 API 的客户端需要存储它或每次都要求它。
在查看这篇文章之后,似乎选项 3 实际上是我正在寻找的。据我了解,身份验证过程应如下所示:
- 客户端调用身份验证方法
- 返回 2 个令牌 - 1 个周期较短,即身份验证令牌,一个周期较长,允许更新身份验证令牌。
- 一旦身份验证令牌过期,客户端将只使用那些没有用户原始详细信息的令牌来更新过期的令牌。
在这方面我有两个问题:
- 从安全的角度来看 - 如果黑客“抓住”这两个令牌会发生什么?这基本上意味着黑客从现在开始可以毫无问题地以该用户身份进行身份验证 - 不是吗?
- 据我所知,更多或实现问题
jjwt
不支持此功能(因为只要令牌未过期,我就可以从令牌中读取信息)。从我的搜索中,我找不到可以“开箱即用”的东西 - 是否有一个标准可以在功能上实现这一点?