这些配置和最佳实践将帮助您避免阻止 FIDO2 无密码身份验证 对应用程序用户可用的常见情况。
一般最佳实践
域提示
不要使用域提示绕过 主领域发现。 此功能旨在简化登录流程,但联合身份提供商可能不支持无密码身份验证。
需要特定凭证
如果您使用的是 SAML,请不要 使用 RequestedAuthnContext 元素指定需要密码。
RequestedAuthnContext 元素是可选的,因此要解决此问题,您可以将其从 SAML 身份验证请求中删除。 这是一般的最佳做法,因为使用此元素还会阻止其他身份验证选项(如多重身份验证)正常工作。
使用最近使用的身份验证方法
用户最近使用的登录方法将首先呈现给他们。 当用户认为他们必须使用显示的第一个选项时,这可能会导致混淆。 但是,他们可以通过选择“其他登录方式”来选择另一个选项,如下所示。
特定于平台的最佳实践
Windows操作系统
实施身份验证的推荐选项如下:
- 使用 Microsoft 身份验证库 (MSAL) 的 .NET 桌面应用程序应使用 Windows 身份验证管理器 (WAM)。 GitHub 上记录了此集成及其优势。
- 使用 WebView2 在嵌入式浏览器中支持 FIDO2。
- 使用系统浏览器。 默认情况下,适用于桌面平台的 MSAL 库使用此方法。 您可以查阅我们的 FIDO2 浏览器兼容性页面,以确保您使用的浏览器支持 FIDO2 身份验证。
安卓
使用 MSAL 和 BROWSER 作为授权用户代理 或代理集成的 Android 应用程序支持 FIDO2。 Broker 在 Microsoft Authenticator、公司门户或 Android 上的 Link to Windows 应用中提供。
如果不使用 MSAL,仍应使用系统 Web 浏览器进行身份验证。 SSO 和条件访问等功能依赖于系统 Web 浏览器提供的共享 Web 表面。
iOS 和 macOS
将 MSAL 与 ASWebAuthenticationSession 或代理集成结合使用的 iOS 应用程序支持 FIDO2。 Broker 在 iOS 上的 Microsoft Authenticator 和 macOS 上的 Microsoft Intune 公司门户中提供。
确保您的网络代理不会阻止 Apple 的关联域验证。 FIDO2 身份验证需要 Apple 的关联域验证才能成功,这需要从网络代理中排除某些 Apple 域。 有关更多信息,请参阅 在企业网络上使用 Apple 产品。
如果不使用 MSAL,仍应使用系统 Web 浏览器进行身份验证。 SSO 和条件访问等功能依赖于系统 Web 浏览器提供的共享 Web 表面。 有关更多信息,请参阅 通过 Web 服务对用户进行身份验证 |Apple 开发人员文档。
Web 和单页应用程序
对于在 Web 浏览器中运行的应用程序,FIDO2 无密码身份验证的可用性将取决于浏览器和平台的组合。 您可以查阅我们的 FIDO2 兼容性矩阵 ,检查您的用户将遇到的组合是否受支持。