问题描述
WSO2 身份服务器 5.7.0 撤销方法不起作用,导致错误代码:401 -> 取消授权。
this link 说明了如何使用 revoke 方法,我想将其用于 c# 代码:
WebRequest request2 = WebRequest.Create("https://localhost:9443/oauth2/revoke?token=" + accesstoken + "&token_type_hint=access_token");
request2.Method = "POST";
request2.PreAuthenticate = true;
request2.Credentials = CredentialCache.DefaultCredentials;
ServicePointManager.ServerCertificateValidationCallback += (sender,certificate,chain,sslPolicyErrors) => true;
request2.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
request2.Headers.Add("Authorization","Basic " + "YFnfIeUVkpW64sSysLgoqajioOIa" + ":" + "L7rtcwWDqAQ6NdsvY2ZqUTAi5wMa");
var response2 = request2.GetResponseAsync();
response2.Wait();
var t = response2.Result;
解决方法
您必须对授权标头中的
Authorization: Basic WUZuZkllVVZrcFc2NHNTeXNMZ29xYWppb09JYTogTDdydGN3V0RxQVE2TmRzdlkyWnFVVEFpNXdNYQ==
如果您在文档中尝试 curl 命令,--basic -u "<client id>:<client secret>"
部分将做同样的事情,如果您向命令添加 -v
选项,您可以看到与 curl 请求一起发送的实际标头值.