WAB身份验证失败

时间:2017-10-27 10:59:21

标签: azure-active-directory msal

我尝试使用active-directory-dotnet-native-uwp-v2示例制作一个非常简单的应用程序。

使用我的MSA帐户,它可以正常运行,但是使用我的公司帐户,它无法按预期运行(我使用 @ microsoft.com 帐户)

此帐户是Office 365帐户,实际上它在Graph Explorer中工作得非常好。

问题在于,有时它会起作用......

我在https://apps.dev.microsoft.com中声明的清单文件已正确配置,其中包含原生平台选项,并且“只是”"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;
    }

启动后,我可以设置我的帐户,但重定向已被破坏。

First step. Set my account

Second step. error is throw

从我所看到的,我有一个 Msal Exception

authentication_ui_failed

如果我更深入地检查调用堆栈,我发现的唯一内容是:

active_directory_dotnet_native_uwp_v2.MainPage.<CallGraphButton_Click>d__3.MoveNext()

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您提到了如何解决此问题,因此我将添加一些其他上下文:通常,您不需要将 privateNetworkClientServer 添加到UWP应用程序,仅针对AD IF进行身份验证您只需要在公司场所之外(或在某些情况下VPN环境)访问您的应用程序。

但是,在某些情况下 - 如果您的设备实际连接到公司网络,那么Windows将尝试使用集成身份验证等功能来帮助以较少的工作量登录用户。在这种情况下,建议将此声明为功能,以便您的应用可以在任何地方运行。