簡體   English   中英

Keycloak Admin Rest API unknown_error for update user API

[英]Keycloak Admin Rest API unknown_error for update user API

我正在嘗試使用 Admin Rest API 向用戶添加自定義屬性。當我嘗試使用默認主 realm 時,它工作正常。 但是當我用我創建的另一個 realm 嘗試它時,它會產生“unknown_error”。

我在下面附上了請求的屏幕截圖。 在此處輸入圖像描述

您尚未向您的領域授予相關權限。

轉到“客戶”-> 演示->“服務帳戶角色”:

  • 在客戶端角色下拉框中,單擊realm-management
  • 在可用角色框中,選擇相關角色。 嘗試manage-usersview-users

然后獲取新的訪問令牌並再次嘗試您的 API 調用。

要補充 Perry Harrington 所說的,您可以在您的主人 realm 之外創建一個客戶端,並且仍然將用戶添加到該 realm。但是您首先需要編輯 Master Realm 中 Admin-cli 的 Scope,然后 select 在您的 Account Service 89846281角色(下拉)。 選擇 realm(例如 myrealm-realm)后,您現在應該添加希望 REST API 執行的角色,如管理用戶、查詢用戶等。

顯然 Admin API 需要通過admin-cli客戶端訪問。

當我想使用默認 admin-cli 客戶端的副本時,我收到了 403 {"error":"unknown_error"}

我發現我必須在master admin-cli使用admin-cli客戶端才能使用管理 REST API。 當您查看主域時,子域中不存在管理員角色。 該管理員角色似乎是成功訪問管理員 REST API 所必需的。

我的建議是您可以在主域中創建一個客戶端作為服務帳戶,然后將管理員角色分配給該客戶端。 然后,您可以使用該唯一的管理服務帳戶進行其他程序的 API 訪問。

嘗試像這樣傳遞屬性體。

{

"attributes": {
               "id": ["688"]
            }
}

如果您使用了錯誤的 HTTP 方法,您也會收到此錯誤。

就我而言,我不小心將 POST 用於用戶端點,而我本應使用 GET。

這也表明,如果在 POST 到諸如clients之類的端點時您的正文格式不正確,您將收到此錯誤。

Keycloak 不是很有幫助。

我發現經過大量研究......你必須將角色分配給 cli-admin。 如果您使用的是 keycloack 20.0 版本 Go 到“客戶端”-> select 您的客戶端,例如 admin-cli ->“服務帳戶角色”:然后添加您想要分配角色的所有訪問權限到 cli-admin在此處輸入圖像描述

暫無
暫無

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

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