首页 > 解决方案 > 使用访问令牌和刷新令牌来刷新它们

问题描述

正在调查如何使用 JWT 并发现对我来说并不明显:为什么刷新访问令牌不使用访问令牌和刷新令牌,而只使用刷新令牌?

在这种情况下,我们将能够:

  1. 验证访问令牌签名,即使它已过期。
  2. 从有效负载中获取访问令牌信息,这可能有助于在数据库中查找刷新令牌。

标签: jwtaccess-tokenrefresh-token

解决方案


您的问题有点不清楚,并且假设某些事情可能不正确。访问令牌和刷新令牌都必须是 JWT,并且 JWT 不是特定于 OAuth2(它定义了访问和刷新令牌,但没有说明它们应该如何实现)。

访问令牌和刷新令牌的受众也不同 - 访问令牌被发送到(可能是单独的)资源服务器(如果它们是自包含的,发布授权服务器甚至可能没有保留副本)。刷新令牌被发送到授权服务器。

在数据库中定位任何一种类型的令牌(假设它们不是像 JWT 那样的自包含令牌)永远不会成为问题,因为它们应该是唯一的令牌,它们是数据库表的理想主键。因此,没有理由将过期的访问令牌作为刷新请求的一部分发送。

顺便说一句,欢迎来到 Stack Overflow :)。


推荐阅读