2017-04-21 37 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