适用于:
外部租户(了解详细信息)
Web 回退允许使用本机身份验证的客户端应用使用浏览器委托的身份验证作为回退机制来提高复原能力。 当本机身份验证不足以完成身份验证流时,会出现这种情况。 例如,如果授权服务器需要客户端无法提供的功能。
使用本地身份验证的所有客户端应用程序都需要支持 Web 回退。
Web 回退流
此流显示 Web 回退如何发生:
- 客户端应用从用户收集初始信息,并通过向 Microsoft Entra 发出请求来启动身份验证流。
- Microsoft Entra 返回成功或错误响应。 成功响应表示客户端应用可以继续向 Microsoft Entra 发出请求。 错误响应可能指示客户端可以继续提示用户获取详细信息并继续向 Microsoft Entra 发出请求。 错误响应还可以指示客户端需要使用浏览器委托的身份验证。
- 如果错误响应指示客户端需要使用浏览器委托的身份验证,客户端将继续在浏览器中执行身份验证流。
示例方案
让我们看看一个示例,在这种情况下,Microsoft Entra 可以显示客户端需要使用基于浏览器的委托身份验证:
- 在 Microsoft Entra 管理中心,管理员将应用配置为将电子邮件与密码身份验证方法配合使用。
- 此配置意味着Microsoft Entra 要求客户端应用能够从用户收集电子邮件(用户名)和密码。 客户端应用通过发送 密码 质询类型来通知 Microsoft Entra 系统其这一能力。 了解更多关于本机身份验证质询类型的文章中的质询类型。
- 客户端应用还应通过提交服务器发送到用户电子邮件的一次性密码来验证电子邮件。 客户端应用通过发送oob质询类型来传达其对于Microsoft Entra的能力。 了解更多 本机身份验证质询类型 文章中的质询类型
- 如果客户端应用不同时发送 oob 和 密码 质询类型,Microsoft Entra 将其解释为客户端应用无法满足设置要求。 在这种情况下,Microsoft Entra 返回一个错误,指示客户端需要使用浏览器委托的身份验证。
支持 Web 回退
如果 Microsoft Entra 的响应指示客户端应用需要回退到浏览器委托的身份验证,我们建议使用 Microsoft 构建的受支持身份验证库。
在使用本机身份验证时,了解如何在以下应用中支持 Web 回退: