【问题标题】:Revoke token with identity server 4使用身份服务器 4 撤销令牌
【发布时间】:2020-03-06 15:57:28
【问题描述】:

我试图使用身份服务器 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 ....      
}

除了token之外,还有没有其他方法可以撤销token而不传递其他参数?

【问题讨论】:

  • bearerToken 参数建议您要撤销 JWT 访问令牌。但这是不可能的。只能撤销某些令牌:访问令牌(仅限参考令牌)和刷新令牌,如 documented。客户端不能“销毁”访问令牌。最多它可以“忘记”它。

标签: c# asp.net-core identityserver4 bearer-token


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2014-12-01
    • 2020-01-09
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 2020-11-03
    • 2018-04-09
    相关资源
    最近更新 更多