使用PublicClientApplication获取身份验证令牌时无法使用公司帐户登录

我有一个自定义的UWP应用程序,该应用程序已在portal.azure.com中注册。该应用程序已配置为支持所有帐户类型(“任何组织目录中的帐户(任何Azure AD目录-Multitenant)和个人microsoft帐户(例如Skype,Xbox)”)。

在我的应用程序中,我这样创建一个IPublicClientApplication:

PublicClientApp = PublicClientApplicationBuilder.Create(appId)
                    .WithAuthority(AadAuthorityAudience.AzureAdAndPersonalmicrosoftaccount)
                    .WithLogging((level,message,containsPii) =>
                    {
                        ConfigurationHandler.Log.Info($"MSAL: {level} {message} ");
                    },LogLevel.Warning,enablePiiLogging: false,enableDefaultPlatformLogging: true)
                    .WithUseCorporateNetwork(true)
                    .Build();

然后,我试图像这样获取身份验证令牌:

authResult = await PublicClientApp.AcquireTokenInteractive(Scopes)
                                                  .ExecuteAsync()
                                                  .ConfigureAwait(false);

这将打开登录弹出窗口,用户可以在其中输入其电子邮件地址和密码。当我使用个人(xyz@outlook.com)帐户时,身份验证可以正常工作,但不适用于工作帐户。输入工作电子邮件并单击“下一步”后,该窗口将尝试重定向到组织登录页面。重定向过程已开始,但始终会因以下错误而结束:

  

“我们目前无法连接到您需要的服务。请检查您的网络连接或稍后再试”

我尝试将WithRedirecturi值“ urn:ietf:wg:oauth:2.0:oob”添加到PublicClientApplication创建中,但没有帮助。那是我在Azure Portal中配置的唯一重定向URI。

还有其他我不知道的设置吗?如何消除该错误并使工作帐户也正常工作?

编辑:我忘了提到它是一个桌面应用程序。

angeldou123 回答:使用PublicClientApplication获取身份验证令牌时无法使用公司帐户登录

我无法单方面再现您的问题。无论如何,我的步骤似乎与您的步骤相同,以下是屏幕截图供您参考。另外,这里是完整的guide

enter image description here

顺便说一句,如果您想在联合域上集成身份验证,则需要启用其他功能。

1。打开Package.appxmanifest

2。选择功能并启用以下设置:

  • 企业认证

  • 专用网络(客户端和服务器)

  • 共享用户证书

enter image description here

,

通过向Windows证书管理器中的“受信任的根证书颁发机构”添加丢失的证书,解决了此问题。

本文链接:https://www.f2er.com/3152374.html

大家都在问