C# 如何使用Identity Server 4为给定用户撤销ASP.NET核心API中的访问令牌

C# 如何使用Identity Server 4为给定用户撤销ASP.NET核心API中的访问令牌,c#,authentication,asp.net-core,authorization,identityserver4,C#,Authentication,Asp.net Core,Authorization,Identityserver4,访问令牌通过引用传递(内省端点) 我正在使用IdentityServer的身份验证处理程序来保护我的API 如何从API中撤销给定用户的访问令牌 我可以通过调用GetTokenAsync(“access_token”)获取当前用户的访问令牌,然后向我的身份提供者(Identity Server 4)上托管的吊销端点发出请求,轻松完成上述操作。但是,只有当我想撤销发出请求的用户,而不是另一个用户时,这才有效 我考虑过从数据库中获取访问令牌(对于给定的用户),但它们不是以纯文本形式存储的。(我使用的

访问令牌通过引用传递(内省端点)

我正在使用IdentityServer的身份验证处理程序来保护我的API

如何从API中撤销给定用户的访问令牌

我可以通过调用
GetTokenAsync(“access_token”)
获取当前用户的访问令牌,然后向我的身份提供者(Identity Server 4)上托管的吊销端点发出请求,轻松完成上述操作。但是,只有当我想撤销发出请求的用户,而不是另一个用户时,这才有效


我考虑过从数据库中获取访问令牌(对于给定的用户),但它们不是以纯文本形式存储的。(我使用的是PersistedGrantStore实现,它将令牌以某种加密形式存储在一个单独的数据库中。我不确定它们是如何加密的。)

这是您的答案,删除用户授权也会使给定应用程序的所有用户令牌无效。在较新的IdSrv4模板中,有用于管理授权的UI代码(对于登录的用户),您也应该能够为管理员用户这样做