2017-10-09 27 views
1

我正在開發需要訪問用戶日曆的多租戶Office 365守護程序。多租戶守護程序辦公室365應用程序註冊消費者AAD,通過授予管理員同意,是否還需要單獨註冊消費者?

我已經在公司租戶(Tenant1)中成功註冊並使用證書部署了此應用程序,並且我能夠獲得訪問令牌。

現在我創建了一個獨立的AAD租戶(租戶2)並使用Tenant 2的管理員帳戶登錄到守護程序應用程序,它提示管理員同意屏幕,並且我提供了同意。沒有錯誤返回。

但是,當我嘗試獲取應用令牌時,我能夠獲得令牌但具有空白權限。如果我使用此令牌調用Office 365 API,則會得到401

我認爲應該創建服務主體對象。此外,我無法在Tenant 2應用程序註冊中看到此應用程序。

我的所有消費者是否都必須在他們的AD租戶中手動註冊此應用程序並修改應用程序清單文件以添加證書詳細信息?

如果是這種情況,我不確定多租戶的好處。

我發現,在Azure Active Directory documentation後續:

下圖說明一個應用程序的應用程序對象與對應的服務主體對象之間的關係,在被稱爲HR應用程序的樣本多租戶應用的上下文中。有在此方案三個Azure的AD租戶:

  • Adatum目錄 - 由Contoso公司使用的租戶,這是HR應用程序的消費者 - 通過開發人力資源應用程序
  • Contoso的公司使用的租戶
  • 的Fabrikam - 由Fabrikam的組織使用的租戶,這也消耗了HR應用
+0

我想你需要在這裏分享一些代碼示例。一般而言,您不需要在多個租戶中註冊多個應用程序。只要您在Tenant 1中的主應用程序啓用了多租戶,那麼它應該適用於任何數量的租戶。 –

回答

1

你並不需要在每個租戶註冊您的應用程序。事實上,你不應該,因爲有幾十(或數百)個獨特的應用程序ID漂浮只會讓你頭痛。

但是,每個承租人都需要執行管理員同意工作流程。這將授權您已註冊的App ID訪問您請求的範圍。

通常,我建議使用v2端點和apps.dev.microsoft.com門戶網站註冊您的應用程序。雖然您也可以在自己的Active Directory中註冊您的應用程序,但門戶使其更容易管理。

的一般過程是:

  1. 註冊在Registration Portal

  2. 你申請填充在微軟圖形權限節 「應用程序權限」。

  3. 啓動使用https://login.microsoftonline.com/common/adminconsent?client_id=[APPLICATION ID]&redirect_uri=[REDIRECT URI]

  4. 獲取啤酒

的一些提示管理員同意工作量:

  • 的登記門戶僅支持MSA(即個人)賬戶在這一刻。我建議爲此創建一個新的Outlook.com帳戶,以便您可以輕鬆地與需要內部人員共享憑據。

  • 如果您創建共享的Outlook.com帳戶,則還應該在內部爲所有相關方設置轉發規則。這是萬一錯誤或改變的道路,你需要恢復帳戶。

  • 我寫了一個v2 EndpointAdmin Consent引物,你可能會發現有幫助。他們假設您正在使用授權碼流程,但對於客戶端憑證,這些概念保持不變。

+0

第4步做到了。我去喝啤酒,再次嘗試,我得到的權限回來,應用程序令牌的作品。看起來在管理員同意後需要一段時間。感謝註冊門戶提示,請嘗試這些.. – rohit

相關問題