首页 > 解决方案 > 使用身份服务器 4 撤销令牌

问题描述

我试图使用身份服务器 4 撤销令牌,我的部分代码中只有不记名令牌,问题是我应该使用 RevokeTokenAsync 方法,但这需要更多可用的参数:

public async void Logout(string bearerToken)
{
  var client = new HttpClient();

  // request token revocation
  var response = await client.RevokeTokenAsync(new TokenRevocationRequest
      {
        Address = uri,           
        ClientId = clientId,    // ?
        ClientSecret = key,     // ?
        Token = bearerToken
      });
   // manage errors ....      
}

是否存在任何其他方式来撤销令牌而不传递令牌以外的其他参数?

标签: c#asp.net-coreidentityserver4bearer-token

解决方案


当您调用 IdentityServer 的端点时,您应该通过 IdentityServer 的身份验证。所以你必须在你的请求中传递这些参数。

没有 ClientId 和 ClientSecret,没有任何方法可以调用 revoke 端点。

您可以在 IdentityServer 的配置中找到您的 ClientId 和 ClientSecret。


推荐阅读