WAB 认证失败
WAB Authentication failed
我尝试使用 active-directory-dotnet-native-uwp-v2 示例制作一个非常简单的应用程序。
使用我的 MSA 帐户,它可以正常工作,但是使用我的公司帐户,它不能按预期工作(我使用了 @microsoft.com 帐户)
此帐户是一个 Office 365 帐户,实际上它在 Graph Explorer 中工作得很好。
问题是有时它会起作用...
我在 https://apps.dev.microsoft.com 中声明的清单文件已正确配置,具有 Native Platform 选项和 "just" "User.Read"
范围自动化
代码非常简单,下面是示例的摘录:
AuthenticationResult authResult = null;
try
{
authResult = await App.PublicClientApp.AcquireTokenSilentAsync(scopes, App.PublicClientApp.Users.FirstOrDefault());
}
catch (MsalUiRequiredException ex)
{
// A MsalUiRequiredException happened on AcquireTokenSilentAsync. This indicates you need to call AcquireTokenAsync to acquire a token
System.Diagnostics.Debug.WriteLine($"MsalUiRequiredException: {ex.Message}");
try
{
authResult = await App.PublicClientApp.AcquireTokenAsync(scopes);
}
catch (MsalException msalex)
{
ResultText.Text = $"Error Acquiring Token:{System.Environment.NewLine}{msalex}";
}
}
catch (Exception ex)
{
ResultText.Text = $"Error Acquiring Token Silently:{System.Environment.NewLine}{ex}";
return;
}
启动后,我可以设置我的帐户,但重定向已损坏。
据我所知,我有一个 Msal 异常:
authentication_ui_failed
如果我更深入地检查调用堆栈,我唯一发现的是:
active_directory_dotnet_native_uwp_v2.MainPage.<CallGraphButton_Click>d__3.MoveNext()
有什么想法吗?
你提到你想出了解决这个问题的方法,所以我将添加一些额外的上下文:一般来说,你不需要将 privateNetworkClientServer 添加到 UWP 应用程序仅用于身份验证AD IF 您只需要在公司场所之外(或在某些情况下为 VPN 环境)访问您的应用程序。
但是,在某些情况下 - 如果您的设备实际上已连接到您的公司网络,那么 Windows 将尝试使用集成身份验证之类的功能来帮助用户更轻松地登录。在这种情况下,建议将此声明为一项功能,以便您的应用可以 运行 任何地方。
我尝试使用 active-directory-dotnet-native-uwp-v2 示例制作一个非常简单的应用程序。
使用我的 MSA 帐户,它可以正常工作,但是使用我的公司帐户,它不能按预期工作(我使用了 @microsoft.com 帐户)
此帐户是一个 Office 365 帐户,实际上它在 Graph Explorer 中工作得很好。
问题是有时它会起作用...
我在 https://apps.dev.microsoft.com 中声明的清单文件已正确配置,具有 Native Platform 选项和 "just" "User.Read"
范围自动化
代码非常简单,下面是示例的摘录:
AuthenticationResult authResult = null;
try
{
authResult = await App.PublicClientApp.AcquireTokenSilentAsync(scopes, App.PublicClientApp.Users.FirstOrDefault());
}
catch (MsalUiRequiredException ex)
{
// A MsalUiRequiredException happened on AcquireTokenSilentAsync. This indicates you need to call AcquireTokenAsync to acquire a token
System.Diagnostics.Debug.WriteLine($"MsalUiRequiredException: {ex.Message}");
try
{
authResult = await App.PublicClientApp.AcquireTokenAsync(scopes);
}
catch (MsalException msalex)
{
ResultText.Text = $"Error Acquiring Token:{System.Environment.NewLine}{msalex}";
}
}
catch (Exception ex)
{
ResultText.Text = $"Error Acquiring Token Silently:{System.Environment.NewLine}{ex}";
return;
}
启动后,我可以设置我的帐户,但重定向已损坏。
据我所知,我有一个 Msal 异常:
authentication_ui_failed
如果我更深入地检查调用堆栈,我唯一发现的是:
active_directory_dotnet_native_uwp_v2.MainPage.<CallGraphButton_Click>d__3.MoveNext()
有什么想法吗?
你提到你想出了解决这个问题的方法,所以我将添加一些额外的上下文:一般来说,你不需要将 privateNetworkClientServer 添加到 UWP 应用程序仅用于身份验证AD IF 您只需要在公司场所之外(或在某些情况下为 VPN 环境)访问您的应用程序。
但是,在某些情况下 - 如果您的设备实际上已连接到您的公司网络,那么 Windows 将尝试使用集成身份验证之类的功能来帮助用户更轻松地登录。在这种情况下,建议将此声明为一项功能,以便您的应用可以 运行 任何地方。