在我工作的公司,我们有自己的 Active Directory 设置。我们还有许多外部合作伙伴,每个合作伙伴都有自己的 Active Directory 设置。我们正在尝试使用 Azure AD B2C 创建单个登录位置。添加多个身份提供商很容易,但每个提供商都会显示按钮,并且出于隐私考虑,我们不能让我们的合作伙伴知道我们还与谁合作。我们希望请求电子邮件,并根据电子邮件的域名将用户引导至正确的身份提供商。
我知道有很多方法可以做到这一点,但是到目前为止我发现的所有方法都非常复杂。这种要求在许多企业中似乎很常见,因此实现这一点的最简单方法需要大约一百个步骤的概念似乎并不正确。
我知道 Home Realm Discovery,但就像上面我看到的所有示例一样,它需要非常复杂的设置(带有声明提供者的自定义策略调用 azure 函数从数据库查询以返回 idP),我们已经必须设置身份提供商 真的没有简单的方法可以说“来自parter1.com 的电子邮件使用此提供商,来自parter2.com 的电子邮件使用此提供商”吗?如果没有,有人可以解释实现这一目标的租赁复杂方式吗?
最佳答案
请参阅此示例,该示例收集电子邮件并根据域名进行 HRD。
https://github.com/azure-ad-b2c/samples/tree/master/policies/home-realm-discovery-modern
如果您在 B2C 页面中收集电子邮件,则必须使用自定义策略。
如果您在应用程序中收集电子邮件,则可以使用带有domain_hint 参数的用户流。您不需要执行任何 xml 工作,只需传递一个等于门户中 idp 名称的 domain_hint 参数即可。 https://learn.microsoft.com/en-us/azure/active-directory-b2c/direct-signin#redirect-sign-in-to-a-social-provider
关于active-directory - Azure AD B2C 从电子邮件直接发送到身份提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64035026/