你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
支持在自己开发的应用中通过 FIDO2 密钥进行无密码身份验证
这些配置和最佳做法将帮助你避免导致 FIDO2 无密码身份验证对应用程序用户不可用的常见情况。
一般最佳实践
域提示
请勿使用域提示来绕过主领域发现。 此功能旨在简化登录过程,但联合标识提供程序可能不支持无密码身份验证。
需要特定凭据
如果使用的是 SAML,请不要使用 RequestedAuthnContext 元素指定需要密码。
RequestedAuthnContext 元素是可选的,因此,若要解决此问题,可以将其从 SAML 身份验证请求中删除。 这是一般的最佳做法,因为使用此元素还可能阻止其他身份验证选项(如多重身份验证)正常工作。
使用最近用过的身份验证方法
用户首先会看到他们最近用过的登录方法。 当用户认为必须使用呈现的第一个选项时,这可能会导致混淆。 不过,他们可以选择其他选项,方法是选择“其他登录方式”,如下所示。
平台特定的最佳做法
桌面
用于实现身份验证的建议选项如下:
- 使用 Microsoft 身份验证库 (MSAL) 的 .NET 桌面应用程序应使用 Windows 身份验证管理器 (WAM)。 GitHub 上记录了此集成及其优点。
- 在嵌入式浏览器中使用 WebView2 支持 FIDO2。
- 使用系统浏览器。 默认情况下,桌面平台的 MSAL 库使用此方法。 你可以查阅我们的页面了解 FIDO2 浏览器兼容性,以确保你使用的浏览器支持 FIDO2 身份验证。
移动
从 2021 年 2 月开始,本机 iOS 或 Android 应用当前不支持 FIDO2,但正在开发中。
为了准备应用程序的可用性,并作为一般的最佳做法,iOS 和 Android 应用程序应使用 MSAL,并且默认使用系统 Web 浏览器。
如果未使用 MSAL,则仍应使用系统 Web 浏览器进行身份验证。 诸如单一登录和条件访问等功能依赖于系统 Web 浏览器提供的共享 Web 图面。 这意味着,使用 Chrome 自定义选项卡 (Android) 或 通过 Web 服务对用户进行身份验证 | Apple 开发人员文档 (iOS)。
Web 和单页应用
对于在 Web 浏览器中运行的应用程序,FIDO2 无密码身份验证的可用性将取决于浏览器和平台的组合。 可以参考我们的 FIDO2 兼容性矩阵来检查你的用户将遇到的组合是否受支持。