[英]Keycloak - using admin API to add client roles to users using a loop
[英]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
應該是角色ID
, containerId
應該是客戶端的 ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.