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 将尝试使用集成身份验证之类的功能来帮助用户更轻松地登录。在这种情况下,建议将此声明为一项功能,以便您的应用可以 运行 任何地方。