C# Azure AD身份验证会记住所选帐户。如何阻止这一切
为了使用AzureAD进行身份验证,我将folling代码放在控制台应用程序中C# Azure AD身份验证会记住所选帐户。如何阻止这一切,c#,azure,azure-active-directory,C#,Azure,Azure Active Directory,为了使用AzureAD进行身份验证,我将folling代码放在控制台应用程序中 private static async Task<string> GetAuthTokenAsync(string tendent,string AppIdUri , string ClientID) { /* <add key="ida:Audience" value="https://mehler.ws/ToDoWebApi" /> <ad
private static async Task<string> GetAuthTokenAsync(string tendent,string AppIdUri , string ClientID)
{
/*
<add key="ida:Audience" value="https://mehler.ws/ToDoWebApi" />
<add key="ida:ClientID" value="f0e91727-3edd-4b00-9630-591166a74e4b" />
*/
var authContext = new AuthenticationContext(string.Format("https://login.windows.net/{0}", tendent));
AuthenticationResult result = authContext.AcquireToken(AppIdUri, ClientID , new Uri(Settings.Default.WebApiReplyAdress));
return result.CreateAuthorizationHeader();
}
private静态异步任务GetAuthTokenAsync(string tendent、string AppIdUri、string ClientID)
{
/*
*/
var authContext=新的AuthenticationContext(string.Format(“https://login.windows.net/{0},倾向性);
AuthenticationResult=authContext.AcquireToken(AppIdUri、ClientID、新Uri(Settings.Default.webapireplyAddress));
返回结果。CreateAuthorizationHeader();
}
AcquireToken方法显示一个屏幕,要求我输入凭据
我无意中选择了在Windows 10中登录的帐户。现在屏幕不再显示,应用程序将自动使用我的Windows 10帐户。是否有人知道如何解决此问题,以便屏幕再次显示?令牌被缓存以减轻应用程序的复杂性。如果希望用户重新登录,则需要清除令牌缓存。。。通常,您会设置注销功能 有关令牌缓存的详细信息: 如何注销:
authContext.TokenCache.Clear();
string requestUrl = "https://login.microsoftonline.com/{0}/oauth2/logout?post_logout_redirect_uri={1}";
Task.Run(async () =>
{
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, requestUrl);
var response = await client.SendAsync(request);
});
- {0}-Azure Active Directory的完全限定名,例如。 yourad.onmicrosoft.com或租户id
- {1} -必须重定向用户的应用程序的URL 注销完成后返回。这应该是正确的URL 编码的