如何使用Identity Server 4撤销令牌或使令牌无效?

时间:2018-08-29 03:44:03

标签: c# asp.net-core identityserver4

我阅读了以下文档:http://docs.identityserver.io/en/release/endpoints/revocation.html

然后我尝试以下代码:

AuthHelper.cs

public class AuthHelper
{
    private string URL = "http://localhost:50847/connect/revocation";


    public bool revocarToken(string token)
    {
        try
        {
            HttpClient client = new HttpClient();
            string uri = URL;
            StringContent contenido = new StringContent("token="+token+"&token_type_hint=access_token", System.Text.Encoding.UTF8, "application/x-www-form-urlencoded");
            HttpResponseMessage response = client.PostAsync(uri, contenido).Result;

            if (response.IsSuccessStatusCode)
                return true;
            return false;
        }
        catch (Exception ex)
        {
            throw;
        }
    }
}

但是,我收到此错误:

enter image description here

我收到错误400(错误请求)。预先感谢。

1 个答案:

答案 0 :(得分:1)

您没有将所需的凭据发送到吊销端点。 IdentityServer希望您提供客户端ID和密码。请阅读https://tools.ietf.org/html/rfc7009#section-2.1规范以更好地理解。

我建议您使用IdentityModel2软件包提出吊销请求(以及其他与OIDC相关的请求)。