首页 > 解决方案 > 引用令牌是否需要刷新令牌?

问题描述

我们有一个使用本地 API 身份验证的 IdentityServer4 保护的 Web API。我们目前同时使用参考令牌和刷新令牌。既然我们有能力随时撤销引用令牌,我们甚至有必要使用刷新令牌吗?我们不能为参考令牌设置一个较长的到期时间吗?这种方法是否有任何安全隐患?

标签: oauth-2.0openididentityserver4openid-connect

解决方案


文档中:

使用参考令牌时 - IdentityServer 会将令牌的内容存储在数据存储中,并且只会将此令牌的唯一标识符发回给客户端。然后,接收此引用的 API 必须打开与 IdentityServer 的反向通道通信以验证令牌。

换句话说,客户端不必向 api 提供访问令牌,只需传递引用即可。

这是 JWT 令牌和引用令牌之间的一个很大区别。客户端向 API 发送 JWT 令牌,该令牌必须由 API 信任,而无需咨询提供者,而引用令牌则强制 API 联系提供者,而不必依赖客户端。

刷新令牌文档

由于访问令牌具有有限的生命周期,刷新令牌允许在没有用户交互的情况下请求新的访问令牌。

现在的问题是,参考令牌可以过期吗?不是来自自身,因为它不包含任何逻辑,这与 JWT 令牌不同。但是可能存在触发某种过期的服务器端设置,或者实际上导致引用被撤销。

无论哪种方式,在这种情况下都没有使用刷新令牌。因为您无法刷新参考令牌。引用令牌存在或不存在(无效或被撤销)。


推荐阅读