gpt4 book ai didi

c# - 从 WPF 应用程序注销 Azure Active Directory 应用程序?

转载 作者:行者123 更新时间:2023-12-02 06:28:37 24 4
gpt4 key购买 nike

我正在用C#在WPF中开发一个桌面应用程序,它连接到一个Azure AD应用程序,当尝试注销官方文档时,它只删除缓存但不会注销应用程序,所以当尝试时再次连接时我已经显示为已断开连接

这是我的登录代码,但它不起作用。

//cerrar sesion y volver a pantalla de menu
public async void cerrarSesion()
{


var accounts = await app2.PublicClientApp.GetAccountsAsync();

if (accounts.Any())
{
try
{
System.Diagnostics.Process.Start("https://login.microsoftonline.com/4fb44f4b-6f0e-46f2-acea-ac4538df0c9c/oauth2/v2.0/logout");


await app2.PublicClientApp.RemoveAsync(accounts.FirstOrDefault()).ConfigureAwait(false);
Console.WriteLine("User has signed-out");

//NavigationService.Navigate(new Menu());

// System.Diagnostics.Process.Start("https://login.microsoftonline.com/4fb44f4b-6f0e-46f2-acea-ac4538df0c9c/oauth2/v2.0/logout");
// Console.WriteLine(Resultado.Account.HomeAccountId + "");
}
catch (MsalException ex)
{
Console.WriteLine($"Error signing-out user: {ex.Message}");
}
}

}

Stay logged in

最佳答案

据我所知,默认情况下无法从 WPF Web 浏览器中删除 session cookie。您可以从 here 找到引用。 。

已经有一个针对相同问题的 Github 问题可以从此处进行跟踪,该问题目前处于阻止状态。稍后将确定优先级并进行处理:

https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/425

我建议您尝试抑制所有 cookie 以达到同样的目的。

请查看this链接并查看是否有帮助。

另请查看以下链接以供引用。

https://social.msdn.microsoft.com/Forums/vstudio/en-US/2871993e-744e-46cf-8adc-63c60018637c/deleting-cookies-in-wpf-web-browser-control?forum=wpf

或者,由 Bigdan Gavril 建议,在下面的链接中

https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/issues/425

通过使用 .WithPrompt 方法,您可以对浏览器进行一些控制。 AFAIK Prompt.ForceLogin 将始终强制用户输入密码。

var result = await pca.AcquireTokenInteractive(_scopes)
.WithPrompt(Prompt.ForceLogin)
.ExecuteAsync()

希望有帮助。

关于c# - 从 WPF 应用程序注销 Azure Active Directory 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57759961/

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