同时使用访问令牌和刷新令牌来刷新它们

时间:2020-02-28 19:20:22

标签: jwt access-token refresh-token

正在研究如何与JWT一起工作,但发现对我而言并不明显: 为什么要刷新访问令牌而不同时使用访问令牌和刷新令牌,而只使用刷新令牌?

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

顺便说一句,欢迎您使用Stack Overflow。