2017-04-21 39 views
1

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

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

在此先感谢

回答

4

你完全可以建立一个应用程序来与多个目录进行身份验证。

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

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

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

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


更新到B2C允许你从那里做这一切现在

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

这个新功能可以让您:

  1. 创建通过Azure的AD员工/合作伙伴登录定制策略B2C租户
  2. 将所有用户与B2C房客进行身份验证
  3. 用户可以选择如果他们想使用社交帐户登录,或者他们是员工或合作伙伴
  4. 如果他们选择以员工或合作伙伴的身份登录,他们将被重定向到您的Azure AD
  5. 最终,您的应用程序会从B2C获取令牌,告诉用户登录的位置,然后您可以根据该信息进行授权。
+0

我找不到任何示例代码,请您分享一些代码示例asp.net mvc。 – Pragmatic

+0

现在有一个示例:https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-setup-aad-custom – Richard