authentication_ui_failed: 基于浏览器的身份验证对话框未能完成
authentication_ui_failed: The browser based authentication dialog failed to complete
使用以下方法在通用应用程序中查询令牌结果:
AcquireTokenAsync(字符串资源,字符串 clientId,Uri redirectUri,PromptBehavior promptBehavior);
在 F5 调试模式下没有问题,但通过已发布的商店应用程序包手动安装应用程序时出现错误。
错误信息:
authentication_ui_failed: 基于浏览器的身份验证对话框失败
完全的。系统找不到指定的资源。 (例外
来自 HRESULT:0x800C0005)
请检查您的通用应用程序的功能。必须启用以下功能才能显示 AAD 浏览器身份验证 UI 弹出窗口:
- 企业认证
- 互联网(客户端和服务器)
- 专用网络(客户端和服务器)
- 共享用户证书
如果您想从应用程序的 package.appxmanifest xml 文件中启用它们,您应该在 Capabilities 标签中包含以下条目,如下所示,它们以相同的顺序对应于上述功能:
<uap:Capability Name="enterpriseAuthentication"/>
<Capability Name="internetClient" />
<Capability Name="privateNetworkClientServer" />
<uap:Capability Name="sharedUserCertificates" />
希望对您有所帮助!
我得到了同样的错误消息,尽管我的问题是我使用了错误的 redirectURI。
需要使用生成的那个:
redirectURI = Windows.Security.Authentication.Web.WebAuthenticationBroker.GetCurrentApplicationCallbackUri();
使用以下方法在通用应用程序中查询令牌结果: AcquireTokenAsync(字符串资源,字符串 clientId,Uri redirectUri,PromptBehavior promptBehavior);
在 F5 调试模式下没有问题,但通过已发布的商店应用程序包手动安装应用程序时出现错误。
错误信息:
authentication_ui_failed: 基于浏览器的身份验证对话框失败 完全的。系统找不到指定的资源。 (例外 来自 HRESULT:0x800C0005)
请检查您的通用应用程序的功能。必须启用以下功能才能显示 AAD 浏览器身份验证 UI 弹出窗口:
- 企业认证
- 互联网(客户端和服务器)
- 专用网络(客户端和服务器)
- 共享用户证书
如果您想从应用程序的 package.appxmanifest xml 文件中启用它们,您应该在 Capabilities 标签中包含以下条目,如下所示,它们以相同的顺序对应于上述功能:
<uap:Capability Name="enterpriseAuthentication"/>
<Capability Name="internetClient" />
<Capability Name="privateNetworkClientServer" />
<uap:Capability Name="sharedUserCertificates" />
希望对您有所帮助!
我得到了同样的错误消息,尽管我的问题是我使用了错误的 redirectURI。 需要使用生成的那个:
redirectURI = Windows.Security.Authentication.Web.WebAuthenticationBroker.GetCurrentApplicationCallbackUri();