1

我在嘗試獲取我們的某個API的訪問密鑰時遇到了錯誤。 「AADSTS65001:用戶或管理員尚未同意使用ID爲‘{GUID}’獲取訪問令牌和登錄時出現Azure AD錯誤

首先我試圖登錄時提示=同意的申請,以爲我有這樣的過程中未提示的新同意登錄,並且出現以下錯誤: 「AADSTS65005:應用程序'{GUID}'要求獲得訪問已被移除或不再可用資源的權限。然而,聯繫應用程序供應商。」 我刪除提示=同意,並開始在Azure中的權限擺弄現在我被困在了同樣的錯誤。

我改變了這一切回來,因爲它是,但我仍然得到錯誤,這只是發生在我的用戶其他人仍然可以登錄沒有問題

所以我的問題,實際上是兩個部分:。

  1. 試圖獲得API的訪問令牌時,第一個錯誤 不知何故我需要經過同意提示用戶,但我使用的是使用as的adal.js使用不可見的iframe無聲檢索密鑰。我希望在用戶登錄到Web應用程序時獲得同意。 這可能嗎?

  2. 我的用戶無法再登錄到我們的網絡應用程序。其他人都可以,任何人都遇到過這個?

該產品是SPA Web應用程序寫在反應,我們使用adal.js(阿達爾香草)作爲認證天青廣告庫。

更新 終於得到了一些東西的工作。不是所有的方式,但至少它是一個開始。

  1. 問題在於,在其他租戶(這是多租戶應用程序)上註冊的用戶不同意使用該API。這些用戶得到錯誤。不過,我在同一個租戶上註冊了一個用戶,一切都按預期工作。
  2. 問題二通過刪除所有權限並逐個添加並在其間測試來解決。不知怎的,這在經過兩三次嘗試後才奏效。

現在的問題是,其他租戶的用戶沒有得到同意提示訪問該API。

+0

你試過提示= admin_consent? – juunas

+0

是的,我已經嘗試提示= admin_consent和promt =同意。可悲的是,既不修復任何錯誤。 – Fralle

回答

0

不知怎的,這個問題得到了固定,我不是100%確定如何或爲何但是這裏是我進行的,如果有人發現自己在一個類似的情況來解決它的步驟:

  1. 確保所有的權限是正確的(API添加委派權限的客戶端)
  2. 所有服務(Web應用程序的API &)的多租戶
  3. 更新清單與:

"availableToOtherTenants": true, 
 
    "knownClientApplications": [ 
 
    "{client app application id}" 
 
    ],
(availableToOtherTenants是因爲即使是在設置標記爲多租戶的API假)

0

同意可能可以通過prompt = admin_consent進行修復。

至於第二個問題,您可以將您的網絡應用程序作爲API的已知客戶端應用程序添加爲。當用戶通過網絡應用認證時,這將允許同時同意。

爲此,請在Azure門戶的Azure AD刀片中找到API應用註冊。然後打開其清單(應用程序刀片上有一個清單按鈕)。應該有一個「knownClientApplications」屬性。將網絡應用程序的客戶端ID添加到數組中並保存清單。

E.g.:

"knownClientApplications": [ 
    "bda6ffff-ffff-ffff-ffff-ffff8bf8c57f" 
], 
+0

Manifest似乎修復它,至少爲新用戶,獲取令牌獲取和api調用通過200響應。 但是,當我嘗試註銷並重新用同一個用戶登錄。這在提取訪問令牌時提示錯誤消息: 「AADSTS65001:用戶或管理員尚未同意使用ID爲{GUID}的應用程序發送對此用戶和資源的交互式授權請求。 – Fralle

+0

如果您嘗試再次通過提示=同意,它也應提示您同意API。 – juunas

+0

我添加了提示=同意,我得到: 「AADSTS65005:應用程序'{GUID}要求訪問已被刪除或不再可用的資源的權限,請與應用程序供應商聯繫。 試圖登錄時。 – Fralle

相關問題