如何在Azure B2B和B2C之间建立联盟

Pra*_*tic 2 active-directory azure azure-active-directory

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

我们在分析Azure AD时发现,Azure B2B可用于员工和供应商,而B2C可用于消费者。因此,我们都需要它们。我们是否可以通过可以同时通过B2B和B2C进行身份验证的方式来设置应用程序?或任何其他实施此建议。

提前致谢

juu*_*nas 5

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

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

在应用程序方面,您需要为用户显示一个选择:如果他们想以员工/合作伙伴或客户身份登录。然后,您重定向到正确的登录页面。

您需要两次定义应用程序,一次在两个目录中。

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


更新到B2C允许您现在从那里开始

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

这项新功能使您可以:

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