引用令牌

访问令牌可以有两种形式 - 自包含或参考。

JWT令牌将是一个自包含的访问令牌 - 它是一个带有声明和过期的受保护数据结构。一旦API了解了密钥材料,它就可以验证自包含的令牌,而无需与发行者进行通信。这使得JWT难以撤销。它们将一直有效,直到它们过期。

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

../_images/reference_tokens.png

您可以使用以下设置切换客户端的令牌类型:

client.AccessTokenType = AccessTokenType.Reference;

IdentityServer提供了OAuth 2.0内省规范的实现,该规范允许API取消引用令牌。您可以使用我们的专用内省中间件 或使用身份服务器身份验证中间件,它可以验证JWT和引用令牌。

内省端点需要身份验证 - 因为内省端点的客户端是API,您可以在以下位置配置秘密ApiResource

var api = new ApiResource("api1")
{
    ApiSecrets = { new Secret("secret".Sha256()) }
}

有关如何为API配置IdentityServer身份验证中间件的详细信息,请参阅此处

nidie.com.cn - 用心与你沟通