簡體   English   中英

Azure Active Directory登錄:Web應用程序權限,未觸發用戶同意

[英]Azure Active Directory Login: Web App Permissions, User Consent not triggered

目前,我已經建立了一個AAD實例,並且正在通過我的Web應用對其用戶進行身份驗證,並且該實例運行良好。

在AAD上添加和配置應用程序后,我添加了訪問Office365 Calendar API所需的應用程序和委派權限。 但是,唯一缺少的是,在登錄流程期間,系統不會提示用戶授予權限許可,因為這應該是我在您的文檔中看到的: https//msdn.microsoft.com /zh-CN/library/azure/dn132599.aspx#BKMK_Consent

我不確定我缺少什么。 顯然,從文檔中

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

因此,也許我已經以某種方式暗中授予了這些權限的管理員同意,但是我不知道那是怎么發生的。

我已附加在AAD應用程序上配置的權限。

權限-1權限2權限3

任何幫助,將不勝感激。

如果管理員使用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/zh-cn/library/azure/dn194113.aspx
  3. 您可以讓另一個租戶的用戶嘗試登錄到多租戶應用程序。
  4. 您可以使用非管理員帳戶創建應用程序。

我希望這有幫助!

肖恩·塔布里茲(Shawn Tabrizi)

嘗試這個:

Windows Azure AD租戶應用程序oAuth 2.0規范中的Resource參數是什么

將資源參數更改為https://graph.windows.net對我有用。

此外,Microsoft支持建議禁用除“啟用登錄並讀取用戶的配置文件”之外的所有權限,這顯然是為了避免與權限相關的問題。 我了解這不是您的解決方案,但至少可以為您提供一個測試案例。

暫無
暫無

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

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