Azure active directory身份验证库(ADAL)注销不工作

Azure active directory身份验证库(ADAL)注销不工作,azure,xamarin,xamarin.forms,azure-active-directory,adal,Azure,Xamarin,Xamarin.forms,Azure Active Directory,Adal,我使用我的Azure Active Directory,并使用ADAL库获取令牌并使用该令牌调用api。我用来获取令牌的代码如下所示: var url=”https://login.microsoftonline.com/something.onmicrosoft.com/oauth2/logout?post_logout_redirect_uri=www.google.com"; AuthenticationContext ac=新的AuthenticationContext(APIsCons

我使用我的Azure Active Directory,并使用ADAL库获取令牌并使用该令牌调用api。我用来获取令牌的代码如下所示:

var url=”https://login.microsoftonline.com/something.onmicrosoft.com/oauth2/logout?post_logout_redirect_uri=www.google.com";
AuthenticationContext ac=新的AuthenticationContext(APIsConstant.authorityForDomain2);
AuthenticationResult ar=await ac.AcquireTokenAsync(APIsConstant.graphResourceUriForDomain2,APIsConstant.clientIdForDomain2,新Uri(“www.google.com”),string.Empty,string.Empty);
字符串accessToken=ar.accessToken;
ac.TokenCache.Clear();
var client=新的HttpClient();
var request=newhttprequestmessage(HttpMethod.Get,url);
var response=wait client.sendaync(请求);

请求中未包含访问令牌。您可以通过在发送请求之前向请求添加授权标头来实现这一点

/。。。获取身份验证结果的代码。。。
var client=新的HttpClient();
var request=newhttprequestmessage(HttpMethod.Get,url);
//使用身份验证结果(ar)添加授权标头
request.Headers.TryAddWithoutValidation(“Authorization”,ar.CreateAuthorizationHeader());
var response=wait client.sendaync(请求);
注意,您不需要将身份验证结果的访问令牌存储在变量中。您可以直接使用其包含令牌的方法


您可能还需要更改调用
ac.TokenCache.Clear()的位置。正如您现在看到的,它可能会删除刚刚创建的令牌,并且即使使用授权头,请求仍然会失败。您可以在获得身份验证结果之前将调用上移到,也可以在发出API请求之后将调用下移到。或者考虑完全删除这个调用。 我被困在同一个问题上。什么是something.onmicrosoft.com?