jwt - 使用访问令牌和刷新令牌来刷新它们
问题描述
正在调查如何使用 JWT 并发现对我来说并不明显:为什么刷新访问令牌不使用访问令牌和刷新令牌,而只使用刷新令牌?
在这种情况下,我们将能够:
- 验证访问令牌签名,即使它已过期。
- 从有效负载中获取访问令牌信息,这可能有助于在数据库中查找刷新令牌。
解决方案
您的问题有点不清楚,并且假设某些事情可能不正确。访问令牌和刷新令牌都必须是 JWT,并且 JWT 不是特定于 OAuth2(它定义了访问和刷新令牌,但没有说明它们应该如何实现)。
访问令牌和刷新令牌的受众也不同 - 访问令牌被发送到(可能是单独的)资源服务器(如果它们是自包含的,发布授权服务器甚至可能没有保留副本)。刷新令牌被发送到授权服务器。
在数据库中定位任何一种类型的令牌(假设它们不是像 JWT 那样的自包含令牌)永远不会成为问题,因为它们应该是唯一的令牌,它们是数据库表的理想主键。因此,没有理由将过期的访问令牌作为刷新请求的一部分发送。
顺便说一句,欢迎来到 Stack Overflow :)。
推荐阅读
- angular - 可以使用 Cardano 的智能合约来管理对我的 Angular 应用程序的访问吗?
- html - 如何打开和更改选项卡 onclick 事件 html 的焦点
- c++ - 无法理解这个返回是如何工作的
- python - 使用 for 循环迭代字典列表
- flutter - 在小部件树中颤动更改 AlertDialog 的位置
- typescript - 如何使用 webdriverIO + Typescript 添加浏览器堆栈功能?
- python - 带有冷路径的热方程 2D
- android - 如何使用 Xamarin.UITest 为 Android 11 签署 apk?
- javascript - Javascript/jQuery 使用 on change 从多个输入中获取总和
- curl - wget不会下载zip文件