【发布时间】:2017-11-10 09:19:47
【问题描述】:
我尝试使用active-directory-dotnet-native-uwp-v2 示例制作一个非常简单的应用程序。
使用我的 MSA 帐户,它可以正常工作,但使用我的公司帐户,它不能按预期工作(我使用 @microsoft.com 帐户)
此帐户是 Office 365 帐户,实际上它在 Graph Explorer 中运行良好。
问题在于,有时它会起作用......
我在 https://apps.dev.microsoft.com 中声明的清单文件已正确配置,带有 Native Platform 选项,并且“只是”"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()
有什么想法吗?
【问题讨论】:
-
为了缩小这个问题的范围,我建议您尝试使用 Fiddler 从 HTTP 响应中捕获详细的错误消息。
-
在 filddler 运行时,MSAL 身份验证过程不起作用。有什么技巧可以让它发挥作用吗?
-
实际上,我激活了“私有网络”功能,现在似乎可以使用了。谢谢你的参考!
标签: azure-active-directory msal