簡體   English   中英

使用 Keycloak 將用戶添加到客戶端角色 Rest API

[英]Add user to client role using Keycloak Rest API

我正在嘗試使用 Keycloak rest API 向特定用戶添加客戶端級別角色。 我在 Postman 中嘗試這個,但一直找不到 404。

這是網址-

https://{keycloak url}/auth/admin/realms/acme/users/b62dc517-0dd8-41ad-9d97-f385e507e279/role-mappings/clients/6b1f23b4-6bec-4873-a991-4b7947

The "users" param in the url is the user id (b62dc517-0dd8-41ad-9d97-f385e507e279) in keycloak, and the last part of the url is the client id (6b1f23b4-6bec-4873-a991-4b7e49e8b797) in keycloak

POST的主體-

{
"roles": [
            {

                "id": "5aee8f8c-421f-4ed4-93d1-2ddd44864f4f",
                "name": "admin",
                "composite": false,
                "clientRole": true,
                "containerId": "5f930328-98bc-40d0-9882-dd7f2482b6c2"
            }
]
}

對於Postman,我設置Content-Type application/json Authorization Bearer {TOKEN}

我哪里出錯了?

編輯:這是我的 Postman 設置-

這是我在郵遞員中的設置-標題-

Content-Length = <calculated when request is sent>
Host = <calculated when request is sent>
User-Agent = PostmanRuntime/7.26.10
Accept = */*
Accept Encoding = gzip, deflate, br
Connection = keep-alive
Content-Type = application/json

Authorization- Type = Bearer Token 每次手動嘗試前成功生成令牌

Body- raw 單選按鈕被選擇為下面的原始數據-

 {
   "roles": [
        {

            "id": "5aee8f8c-421f-4ed4-93d1-2ddd44864f4f",
            "name": "admin",
            "composite": false,
            "clientRole": true,
            "containerId": "6b1f23b4-6bec-4873-a991-4b7e49e8b797"
        }
 ]
 }

方法是 POST

編輯 - 答案是來自 Dreamcrash 的評論。 我從 Keycloak UI 復制了客戶端 ID,這導致了 404。我注意到當我使用 postman 獲取客戶端 ID 時,它與 UI 上的不同。 當我使用返回值時,一切都很好並且可以正常工作,客戶端的名稱和 ID,realm。 url 參數等或帖子文檔的正文令人困惑。 錯誤的 id 會導致 404。希望這可以幫助某人,因為我花了幾個小時在這個...

問題出在身體上,請嘗試以下方法:

[{"id":"5aee8f8c-421f-4ed4-93d1-2ddd44864f4f","name":"admin","composite":false,"clientRole":true,"containerId":"6b1f23b4-6bec-4873-a991-4b7e49e8b797"}]

id應該是角色IDcontainerId應該是客戶端的 ID。

暫無
暫無

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

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