Azure AD B2C 将用户流与应用一对一关联

Posted

技术标签:

【中文标题】Azure AD B2C 将用户流与应用一对一关联【英文标题】:Azure AD B2C associate user flow with an app one-to-one 【发布时间】:2020-01-28 03:29:57 【问题描述】:

在研究如何为特定应用要求多因素身份验证时,我遇到了这个挑战:

可以在 Azure AD B2C 中创建需要或不需要 MFA 的用户流(策略) 可以在任何应用程序中使用任何用户流。在提供的示例中选择用户流是在客户端完成的,因此只需使用合适的用户流就可以相对容易地绕过 MFA 要求。这可以在其他应用中猜到或找到。

有没有办法要求应用使用特定用户流或限制用户流与特定应用一起使用?

更多信息:

在应用程序中使用特定的用户流: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-tutorials-spa

代码示例: https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp

Azure B2C 中的用户流: https://docs.microsoft.com/en-ca/azure/active-directory-b2c/active-directory-b2c-reference-policies

【问题讨论】:

【参考方案1】:

如果今天有人需要此功能,可以使用 custom policies 通过覆盖 JwtIssuer 技术配置文件并为 "IssuanceClaimPattern" 添加元数据项来实现。

【讨论】:

【参考方案2】:

在 Azure AD B2C 中,您无法将应用程序限制为流,反之亦然,但是给定的应用程序可以通过验证发给它的 the tfp claim in the ID token 来确保执行特定流。

tfp 声明设置为为获取 ID 令牌而执行的策略的名称(例如 b2c_1_signupsignin1)。

【讨论】:

感谢克里斯的回答!我之前收到的另一个样本是github.com/azure-ad-b2c/samples/tree/master/policies/invite。在 SPA 和移动应用程序中存储机密可能具有挑战性,我希望将限制应用程序/流功能的功能添加到 AD B2C。

以上是关于Azure AD B2C 将用户流与应用一对一关联的主要内容,如果未能解决你的问题,请参考以下文章

Azure AD B2C 与企业 (Azure?) AD 帐户集成

如何使用 Azure AD B2C 获取 Facebook 个人资料图片

Azure AD B2C:注销社交帐户(使用 OIDC 的 Azure AD)

使用 Azure AD B2C 在注册期间添加帐户 ID

如何使用 Azure AD B2C 保护 Blazor Wasm 应用访问的 Azure 函数?

Azure AD B2C初识