簡體   English   中英

多次驗證Web應用程序多個azure廣告?

[英]Authenticate web application agains multiple azure ad?

我正在考慮開發一般的企業Web應用程序。 我在想的是以下場景:

該應用程序應該能夠為多個客戶提供服務(稱為多租戶?)。 這意味着多家公司可以將該軟件用於其員工。

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

讓我們假設用戶輸入他的電子郵件地址user1@companyA.com然后我會嘗試根據在companyA.com廣告后面配置的廣告對他進行身份驗證,當有人嘗試使用user361@companyB.com登錄然后我會嘗試對針對companyB.com配置的azure廣告進行身份驗證。

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

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

它的工作方式是這樣的:

  1. 您可以在Azure AD租戶中定義應用程序,包括它可能需要的任何權限(例如,通過Microsoft Graph等從Azure AD Graph /訪問用戶的OneDrive讀取數據的能力)
  2. 定義應用程序時,將其設置為多租戶。
  3. 現在,當來自其他組織的用戶嘗試登錄您的應用時,系統會向他們顯示同意屏幕。 此屏幕描述了您的應用程序及其目錄所需的權限。
  4. 一旦他們同意應用程序所需的權限,就會在其目錄中為應用程序創建服務主體 此主體有點像現在存在於其目錄中的應用程序的帳戶。
  5. 然后他們會轉發回您的應用。

您的應用程序有幾個重要的事項要注意:

  1. 您必須將用戶重定向到https://login.microsoftonline.com/common/oauth2/authorize而不是特定於租戶的端點。
  2. 使用ASP.NET MVC中的OpenIDConnect中間件,您必須關閉頒發者驗證,並手動執行此操作(您必須檢查租戶之前是否已實際注冊)

有關單租戶與多租戶的更多信息: 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM