适用于:
外部租户(了解详细信息)
浏览器委托的身份验证和本机身份验证是Microsoft Entra 外部 ID中的两种登录方法,用于定义面向客户的应用如何处理身份验证体验。 这两种方法都完全受支持,但它们在用户体验、开发工作量和安全模型中有所不同。 了解这些差异有助于选择最适合你的应用的方法。
借助 rowser 委托的身份验证,应用会将用户重定向到系统浏览器或嵌入式 Web 视图中Microsoft托管的登录页。 Microsoft Entra处理整个身份验证流,应用在登录完成后接收令牌。 此方法需要最少的代码,并提供内置的品牌自定义。
使用 本机身份验证,可以使用 Microsoft 身份验证库 (MSAL) SDK 或本机身份验证 API,使登录UI体验直接集成到应用程序中。 用户永远不会离开你的应用。 你可以控制 UI 的各个方面,但你的团队负责生成和维护身份验证体验。
何时使用浏览器委托的身份验证
浏览器委托的身份验证在以下情况下更合适:
- 你的应用可以在登录期间容纳浏览器重定向,而不会中断用户体验。
- 你更喜欢较低的实现和维护工作量。 Microsoft自动管理安全更新和新功能。
- 你希望通过更少的代码支持最广泛的平台和语言。
有关特定功能可用性,请参阅 功能比较。
何时使用本机身份验证
本机身份验证在以下情况下更合适:
- 你需要完全控制登录 UI,以便它可以无缝地融入你的应用。
- 浏览器重定向会中断目标平台的用户体验。
- 你的组织同时运行应用和授权服务器,并且你的用户将他们视为单个实体。
- 开发团队可以承担额外的实施工作和持续维护。
有关特定功能可用性,请参阅 功能比较。
功能对比
下表显示了每种方法中可用的功能。
| 功能 | 浏览器委托的身份验证 | 本机身份验证 |
|---|---|---|
| 使用电子邮件一次性密码注册和登录 (OTP) | ✔️ | ✔️ |
| 使用电子邮件和密码注册和登录 | ✔️ | ✔️ |
| 使用电子邮件和密码登录可以使用用户名(别名)和密码 | ✔️ | ✔️ |
| 自助式密码重置 (SSPR) | ✔️ | ✔️ |
| 自定义声明提供程序 | ✔️ | ✔️ |
| 使用电子邮件一次性密码进行多重身份验证 (OTP) | ✔️ | ✔️ |
| 使用短信一次性密码进行多重身份验证(OTP) | ✔️ | ✔️ |
| 社交标识提供者登录(Apple、Facebook 和 Google)1 | ✔️ | ✔️ |
| 单一登录 (SSO)2 | ✔️ | ✔️ |
1 即使使用原生身份验证,社交登录仍会使用浏览器窗口完成标识提供程序步骤。
2 原生身份验证仅支持嵌入式 Web 视图的单点登录(SSO)。 通过系统浏览器的跨应用 SSO 不适用于本地身份验证。
支持的语言和框架
每种方法都支持以下语言和框架。
| Approach | 支持的语言和框架 |
|---|---|
| 浏览器委托的身份验证 |
|
| 本机身份验证 |
|
安全注意事项
浏览器委托的身份验证是更安全的选项。 Microsoft管理登录界面,从而降低您的应用遭受网络钓鱼和凭据盗取攻击的风险。
使用原生身份验证时,开发团队与Microsoft Entra共同承担安全责任。 团队必须遵循用于处理用户凭据的安全最佳做法。 在选择本机身份验证之前,请与应用的业务所有者和开发团队讨论安全隐患。
后续步骤
确定方法后,注册应用以继续集成,或返回到 规划指南 ,了解完整步骤序列:
浏览器委托的身份验证:
本机身份验证: