支持在自己开发的应用中通过 FIDO2 密钥进行无密码身份验证

这些配置和最佳做法将帮助你避免导致 FIDO2 无密码身份验证对应用程序用户不可用的常见情况。

一般最佳实践

域提示

请勿使用域提示来绕过主领域发现。 此功能旨在简化登录过程,但联合标识提供程序可能不支持无密码身份验证。

需要特定凭据

如果使用的是 SAML,请不要使用 RequestedAuthnContext 元素指定需要密码。

RequestedAuthnContext 元素是可选的,因此,若要解决此问题,可以将其从 SAML 身份验证请求中删除。 这是一般的最佳做法,因为使用此元素还可能阻止其他身份验证选项(如多重身份验证)正常工作。

使用最近用过的身份验证方法

用户首先会看到他们最近用过的登录方法。 当用户认为必须使用呈现的第一个选项时,这可能会导致混淆。 不过,他们可以选择其他选项,方法是选择“其他登录方式”,如下所示。

Image of the user authentication experience highlighting the button that allows the user to change the authentication method.

平台特定的最佳做法

桌面

用于实现身份验证的建议选项如下:

  • 使用 Microsoft 身份验证库 (MSAL) 的 .NET 桌面应用程序应使用 Windows 身份验证管理器 (WAM)。 GitHub 上记录了此集成及其优点。
  • 在嵌入式浏览器中使用 WebView2 支持 FIDO2。
  • 使用系统浏览器。 默认情况下,桌面平台的 MSAL 库使用此方法。 你可以查阅我们的页面了解 FIDO2 浏览器兼容性,以确保你使用的浏览器支持 FIDO2 身份验证。

移动

将 MSAL 与 ASWebAuthenticationSession 或中转站集成配合使用的本机 iOS 应用支持 FIDO2。 中转站在 iOS 上的 Microsoft Authenticator 和 macOS 上的 Microsoft Intune 公司门户中提供。

确保网络代理不会阻止 Apple 关联的域验证。 FIDO2 身份验证要求 Apple 的关联域验证成功,这要求从网络代理中排除某些 Apple 域。 有关详细信息,请参阅在企业网络上使用 Apple 产品

FIDO 2 对于本机 Android 应用的支持当前正在开发中。

如果未使用 MSAL,则仍应使用系统 Web 浏览器进行身份验证。 诸如单一登录和条件访问等功能依赖于系统 Web 浏览器提供的共享 Web 图面。 这意味着,使用 Chrome 自定义选项卡 (Android) 或 通过 Web 服务对用户进行身份验证 | Apple 开发人员文档 (iOS)。

Web 和单页应用

对于在 Web 浏览器中运行的应用程序,FIDO2 无密码身份验证的可用性将取决于浏览器和平台的组合。 可以参考我们的 FIDO2 兼容性矩阵来检查你的用户将遇到的组合是否受支持。

后续步骤

Microsoft Entra ID 的无密码身份验证选项