2016-08-15 54 views
2

因爲我在使用Microsoft Graph API(https://graph.microsoft.io/),所以我想了解Graph API的多租戶支持。對Microsoft Graph API的多租戶支持

據我所知,我們需要先使用O365 Azure AD創建並註冊我們的應用程序(http://dev.office.com/app-registration),然後才能使用它來訪問圖形API。

這與先前的模型一致,其中應用程序直接在基礎AD中創建。我相信上面的應用程序創建步驟是一樣的。

雖然這允許應用程序訪問我們已經註冊應用程序的租戶的圖形API,但該應用程序無法訪問其他租戶數據。 我們該怎麼做?

早些時候AD應用程序有授權訪問流,其中應用程序用於向其他租戶中的用戶呈現對話以授權應用程序。 這個流程仍然有效嗎?

在這方面的任何指導將有所幫助。

回答

1

作爲替代方案,如果您使用鏈接到App Registration Portal直接從Microsoft圖表網站,你不需要做任何額外的事情來讓你的應用程序與多個租戶一起工作。它需要將您的身份驗證策略切換到v2.0 Authentication Endpoints(又名融合身份驗證)。這對您也有一些好處,例如動態範圍,並且能夠使用相同的身份驗證流程支持企業和消費者身份驗證和圖形API。

根據您選擇的平臺,有幾個samples under the Microsoft Graph GitHub帳戶,可以幫助你,如果你需要它。許多樣本已經被切換到這個新的認證流程,其他人正在進行切換。

額外

如果您有關於爲{}租戶段爲V2.0認證端點的選項問題,你可以看到他們here

  • common =>允許用戶使用Azure Active Directory中的個人Microsoft帳戶和工作/學校帳戶登錄到應用程序。
  • organizations =>只允許具有來自Azure Active Directory的工作/學校帳戶的用戶登錄到應用程序。
  • consumers =>只允許擁有個人Microsoft帳戶(MSA)的用戶登錄該應用程序。
  • {tenant guid | name} =>只允許具有來自特定Azure Active Directory租戶的工作/學校帳戶的用戶登錄到應用程序。可以使用Azure AD租戶的友好域名或租戶的guid標識符。
+0

IVE似乎MVC應用的很好的例子使用Graph API https://github.com/OfficeDev/PnP/tree/master/Samples/MicrosoftGraph.Office365.Generic 但它是單租戶,當樣品是多Tenant,它不再使用Graph API,而是使用Sharepoint庫。 有誰知道任何示例代碼多租戶和使用Graph API像'MicrosoftGraph.Office365.Generic'項目? – visual

1

要啓用多租戶應用程序,我們需要登錄Azure的門戶,使其能夠像下圖: enter image description here

0

最重要的是,在處理多租戶應用程序時,使用common作爲您的租戶ID。見它是如何做到如下:

https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=<YOUR_AAD_CLIENT_ID_HERE>&redirect_uri=<YOUR_REDIRECT_URI_HERE>'

有關於沒有明確提及,因爲他們的文檔是雪上加霜。對於一個微軟公司來說,沒有任何藉口。