gpt4 book ai didi

使用 ADAL 库注销 Azure Active Directory

转载 作者:行者123 更新时间:2023-12-03 17:44:12 26 4
gpt4 key购买 nike

我使用 Azure Active Directory 来保护我的 Web API,并在 Azure 管理门户中创建 native 应用程序。这个 native 应用程序基本上是一个 MVC Web 应用程序,我使用 ADAL 库来获取 token 并使用该 token 调用 api。我用来获取 token 的代码如下所示:

AuthenticationContext ac = new AuthenticationContext(authority);
AuthenticationResult ar = ac.AcquireToken(resourceID, clientID, redirectURI);
string accessToken = ar.AccessToken;

现在我需要注销并切换到另一个用户,但不知何故,系统会记住用户凭据。我清除身份验证上下文中的 token 缓存并发布注销 api 请求,如下所示,其中 *** 是我的租户 ID。

//Log out after api call
ac.TokenCache.Clear();

string requestUrl = "https://login.windows.net/***/oauth2/logout";

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, requestUrl);
var response = await client.SendAsync(request);

api调用成功,但是注销不起作用。我应该如何注销并切换到其他用户?

最佳答案

我认为这行不通。您需要将用户重定向到注销 URL 才能进行注销。

以下是创建注销 URI 的方法:

https://login.microsoftonline.com/{0}/oauth2/logout?post_logout_redirect_uri={1}

地点:

  • {0} - Azure Active Directory 的完全限定名称,例如yourad.onmicrosoft.com 或租户 ID。
  • {1} - 用户注销完成后必须重定向回的应用程序的 URL。这应该经过正确的 URL 编码。

关于使用 ADAL 库注销 Azure Active Directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32172898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com