2017-02-18 30 views
1

我正在考慮爲一般企業開發一個Web應用程序。我在想的是以下情況:重新驗證Web應用程序多個天藍色廣告?

應用程序應該能夠爲多個客戶提供服務(稱爲多租戶?)。這意味着多家公司可以爲他們的員工使用該軟件。

他們每個人都可以擁有自己的天藍色廣告或可能不是。因此,我想知道是否可以對多個/不同的天藍色廣告進行身份驗證?

假設用戶輸入他的電子郵件地址[email protected],那麼當有人試圖用[email protected]登錄時,我會嘗試對他在companyA.com廣告後面配置的廣告進行身份驗證。那麼我會嘗試使用爲companyB.com配置的azure廣告進行身份驗證。

這可能嗎?我怎麼能這樣做?

回答

4

這就是多租戶應用程序存在的確切原因。因此,來自任何Azure AD的用戶都可以登錄到您的應用程序。

它的工作方式是這樣的:

  1. 你在你的Azure的AD租戶定義應用程序,包括它可能需要(如通過讀取來自Azure的AD圖/接入用戶的OneDrive數據的能力的任何權限Microsoft Graph等)
  2. 定義應用程序時,將其設置爲多租戶。
  3. 現在,當來自其他組織的用戶嘗試登錄您的應用時,系統會顯示一個同意屏幕。該屏幕描述了您的應用程序及其在目錄中所需的權限。 (誰報必須在自己的目錄管理員的第一個用戶),一旦他們給他們的同意的應用程序需要的權限
  4. ,一個服務主體是在他們的目錄中創建的應用程序。這個委託人有點像現在存在於其應用程序的帳戶
  5. 然後他們會被轉回到您的應用程序。

有需要注意您應用的邊幾個重要的事情:

  1. 您必須將用戶重定向到https://login.microsoftonline.com/common/oauth2/authorize,而不是承租人專用的終端登錄。
  2. 隨着ASP.NET MVC OpenIDConnect中間件,你必須關閉發行人確認,並做了一點手動(你必須檢查租客之前實際上已經簽署了)

更多關於單VS多租戶:http://www.andrewconnell.com/blog/azure-ad-what%E2%80%99s-the-difference-between-single-vs-multi-tenant

示例多租戶應用程序(ASP.NET MVC):https://github.com/Azure-Samples/active-directory-dotnet-webapp-multitenant-openidconnect

相關問題