如何在Azure B2B和B2C之间进行联合

时间:2017-04-21 21:14:38

标签: azure active-directory azure-active-directory

我们正在设计一个应用程序,供客户的员工,他们的一些供应商和消费者使用。所有这三种类型的用户都拥有不同的权利集。

我们正在分析Azure AD,发现Azure B2B可以用于员工和供应商,而B2C可以用于消费者。所以,我们需要他们两个。我们可以设置我们的应用程序,以便能够从B2B和B2C进行身份验证吗?或任何其他建议来实现这一点。

提前致谢

1 个答案:

答案 0 :(得分:4)

您可以完全设置应用程序以使用多个目录进行身份验证。

设置将由员工使用的一个Azure AD,其中可以通过B2B添加合作伙伴。然后还为客户设置B2C目录。

在您的应用程序端,您需要为用户显示一个选项:是否要以员工/合作伙伴或客户身份登录。然后,您将重定向到正确的登录页面。

您需要在两个目录中定义应用两次。

实际实现将根据您的技术堆栈而有所不同,但在ASP.NET Core中,您需要设置多个Open ID Connect中间件。并且他们都不能使用AutomaticChallenge,因为您需要知道重定向用户的位置,您无法真正选择它们。

更新到B2C允许您现在就完成所有操作

Azure AD B2C现在允许自定义策略(预览功能)。这意味着您可以使用任何OpenId Connect提供程序进行登录,当然包括Azure AD。

此新功能允许您:

  1. 使用自定义策略创建B2C租户,以通过Azure AD
  2. 登录员工/合作伙伴
  3. 将所有用户发送给您的B2C租户进行身份验证
  4. 用户可以选择是否要使用社交帐户登录,或者他们是员工还是合作伙伴
  5. 如果他们选择以员工或合作伙伴身份登录,则会将其重定向到您的Azure AD
  6. 最后,您的应用从B2C获取一个令牌,告知用户登录的位置,以便您可以根据该信息进行授权