当我向用户添加角色时,我按名称搜索该客户端角色,然后获取此角色表示并添加到用户。但我不知道如何搜索“realm-admin”角色以及如何使用rest api 将其添加到用户。
这是我用来搜索我的客户端角色 (GET) 的 URL:
https://{my-keycloak-url}/auth/admin/realms/{realm-name}/clients/{id}/roles/{role-name}
这就是我用来将此角色添加到用户 (PUT) 的 URL:
https://{my-keycloak-url}/auth/admin/realms/{realm-name}/users/{user-id}/role-mappings/clients/{client-id}
这个“领域管理员”相当于什么?
最佳答案
您可以通过此 API 为用户分配 realm-admin
角色
POST https://{my-keycloak-url}/auth/admin/realms/{realm-name}/users/{user-id}/role-mappings/clients/{realm-management-id}
使用此主体有效负载
[
{
"id":{realm-admin-id},
"name":"realm-admin",
"description":"${role_realm-admin}",
"composite":true,
"clientRole":true,
"containerId":{realm-management-id}
}
]
或 curl 命令
curl --location --request POST 'http://localhost:8180/auth/admin/realms/my-realm/users/1b058869-a65d-4648-b4e2-4f5bf7430ea6/role-mappings/clients/33f00bff-d735-4402-88bc-51ea055d15c1' \
--header 'Authorization: Bearer $token' \
--header 'Content-Type: application/json' \
--data-raw '[
{
"id":"c8a60657-9545-4ab3-9913-0186fdb93213",
"name":"realm-admin",
"description":"${role_realm-admin}",
"composite":true,
"clientRole":true,
"containerId":"33f00bff-d735-4402-88bc-51ea055d15c1"
}
]'
关于keycloak - 如何使用 keycloak rest-api 将领域管理员添加到用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74030920/