簡體   English   中英

Azure 應用程序錯誤地請求管理員同意?

[英]Azure app incorrectly requesting admin consent?

我希望有人對我在 Microsoft 的 Azure 門戶 ( portal.azure.com ) 中新注冊的應用程序遇到的問題有所了解。

當我收到以下對話框時,我的登錄問題

管理員同意對話框

錯誤代碼和信息出現在右下角;

AADSTS90094:此操作只能由管理員執行。 注銷並以管理員身份登錄或聯系您組織的管理員之一。

配置的角度來看,我相信我有這個設置要求管理員同意,但有可能我丟失的東西。

我的應用程序配置為;

ID 令牌,單租戶(Web)應用程序

流量配置

無管理員權限的委派用戶同意權限

應用權限

對於企業應用,配置設置為;

  • 允許用戶登錄: Yes
  • 需要用戶分配: Yes
  • 對用戶可見: Yes
  • 已添加 4 個具有Default Access角色的用戶
  • 允許用戶請求訪問此應用程序: No (因為他們已分配)

最后,在企業應用程序下的 azure 目錄中- 用戶設置配置我已將公司數據用戶同意設置為Yes

目錄用戶同意

當我導航到我的應用程序 URL 或從myapps.microsoft.com的應用程序時,兩者都會給我上面的對話框,請求管理員同意。

如果不需要,我不想授予管理員同意,因為這似乎有點像使用大錘來解決問題。

我覺得我要么錯過了一些重要的事情,要么做了一些愚蠢的事情 - 請幫忙,如果我能提供更多信息,請告訴我。

編輯 1.1:

我的身份驗證請求 URL 是: https://login.microsoftonline.com/<tenantid>/oauth2/v2.0/authorize?client_id=<clientid>&redirect_uri=<redirecturi>&response_mode=form_post&response_type=code id_token&scope=openid email profile offline_access User.Read User.ReadBasic.All Mail.ReadWrite&state=OpenIdConnect.AuthenticationProperties=<gibberish>&nonce=<gibberish>&x-client-SKU=ID_NET461&x-client-ver=5.4.0.0

(我使用 ASP.NET MVC 結合 Microsoft 的 OpenId Connect 身份驗證庫)

當用戶同意不需要分配的應用程序(在允許用戶同意的租戶中,並且對於僅請求不需要管理員同意的權限的應用程序)時,會發生兩件事:

  1. 為應用程序、用戶和請求的委派權限記錄同意授權。
  2. 用戶以“默認”應用程序角色分配給應用程序。

第二步可能看起來令人驚訝,但它的作用很簡單:它確保用戶在 Azure AD 訪問面板 ( https://myapps.microsoft.com ) 中看到他們已同意的應用程序。 (Azure AD 訪問面板將向用戶顯示他們分配給的所有應用。)

如果用戶可以通過觸發用戶同意來分配自己,這將違背“需要用戶分配”控制的目的。 因此,目前,當應用程序設置為需要用戶分配時,根本不允許用戶同意該應用程序。

今天,你有兩個選擇:

  1. 要求管理員為應用程序授予租戶范圍的同意(例如,企業應用 > 權限 > 授予管理員同意,或應用注冊 > API 權限 > 授予管理員同意)。
  2. 配置應用不需要用戶分配和更新應用程序的代碼,要求用戶被分配到通過檢查“角色”要求的應用程序的作用。

暫無
暫無

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

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