2015-06-10 67 views
0

我目前已經設置了一個AAD實例,並且正在通過我的網絡應用程序對用戶進行身份驗證,並且工作效果很好。Azure Active Directory登錄:Web應用權限,未觸發用戶同意

當我在AAD上添加並配置應用程序時,我添加了訪問Office365 Calendar API所需的應用程序和委託權限。但是,唯一缺少的是,在登錄流程中,用戶不會被提示授予許可權限,因爲它應該從我在文檔中閱讀的內容中發生:https://msdn.microsoft.com/en-us/library/azure/dn132599.aspx#BKMK_Consent

我不是確定我錯過了什麼。顯然,從文檔中,

用戶登錄後,Azure AD將確定是否需要向用戶 顯示同意頁面。該確定基於 用戶(或其組織的管理員)是否已經獲得了應用程序許可 。如果同意尚未授予 ,Azure AD將提示用戶同意並將顯示其所需的所需許可權限。顯示在同意對話框中的權限集 與在Azure 管理門戶中的其他應用程序權限控制中選擇的 相同。

所以也許不知何故,我已經可能暗中授予管理員同意這些權限,但我不知道這是怎麼發生的。

我附加了我在AAD App上配置的權限。

Permissions-1 Permissions-2 Permissions-3

任何幫助,將不勝感激。

回答

5

如果管理員使用AUX門戶(manage.windowsazure.com)在他們的租戶中創建應用程序並向其他應用程序請求權限,則該同一租戶中的用戶將被預先同意該應用程序。請注意,此行爲對我們的其他應用註冊門戶(portal.azure.com或identity.microsoft.com)不適用

我相信這就是您租戶中的用戶登錄您的帳戶時未看到同意對話的原因應用。如果您想推動同意對話體驗,您可以執行幾項不同的操作:

  1. 您可以在登錄時使用查詢字符串提示「同意」或「admin_consent」。請點擊此處:https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx
  2. 您可以使用AAD PowerShell從租戶中刪除應用程序的服務主體。您可以在此處瞭解如何執行此操作:https://msdn.microsoft.com/en-us/library/azure/dn194113.aspx
  3. 您可以讓另一位租戶的用戶嘗試登錄您的多租戶應用程序。
  4. 您可以在非管理員帳戶下創建您的應用程序。

我希望這有助於!

Shawn Tabrizi

相關問題