roc*_*oon 2 keycloak keycloak-rest-api
我在创建用户时分配现有领域角色时遇到问题。按照创建新用户时的文档POST /{realm}/users,在使用的 body 参数中UserRepresentation,我们有一个名为的字段realmRoles,该字段是可选的。我已经尝试在以下模式中进行分配:
[
{
"id": "123asd-3223r-wer23rwer-werwer",
"name": "name-of-role-1"
},
{
"id": "23wedf-wefwcs-dfsdf-sdf",
"name": "name-of-role-2"
}
]
Run Code Online (Sandbox Code Playgroud)
[
{
"id": "123asd-3223r-wer23rwer-werwer",
},
{
"id": "23wedf-wefwcs-dfsdf-sdf",
}
]
Run Code Online (Sandbox Code Playgroud)
[ "123asd-3223r-wer23rwer-werwer","23wedf-wefwcs-dfsdf-sdf"]
Run Code Online (Sandbox Code Playgroud)
[ "name-of-role-1","name-of-role-2"]
Run Code Online (Sandbox Code Playgroud)
没有上述工作。要么它们被忽略,要么我收到未知错误。
You needs to use user's role mapping API instead of user API
POST {keycloak URL}/admin/realms/{my_realm}/users/{user-id}/role-mappings/realm
Run Code Online (Sandbox Code Playgroud)
body of POST
[
{
"id": {realm_role_id},
"name": {realm_role_name},
"composite": false,
"clientRole": false,
"containerId": {my_realm_id}
}
]
Run Code Online (Sandbox Code Playgroud)
详细信息位于“添加”部分的官方管理 APIrealm-level role mappings to the user。
邮差演示
token环境variable这是如何获取主令牌的更多详细信息
#1 token#2 {user id}#1 tokenroles list#5's realm role在 中body,使用数组格式 - 这意味着可以分配多个领域角色
发布网址
http://localhost:8180/auth/admin/realms/test/users/f3d78ca2-7bab-4aed-b1a4-8b98bf1be000/role-mappings/realm
Run Code Online (Sandbox Code Playgroud)
containerId是#4的{realm_id}
id是#5{role_id}
[
{
"id": "b73643c4-5375-4f9d-b6d5-65dc7c719c68",
"name": "name-of-role-2",
"composite": false,
"clientRole": false,
"containerId": "a6d347b4-3fe8-4410-bda6-54dbf8e50903"
}
]
Run Code Online (Sandbox Code Playgroud)
返回状态应为 204 无内容。
如果不是,那就出问题了。
获取API
http://localhost:8180/auth/admin/realms/test/users/f3d78ca2-7bab-4aed-b1a4-8b98bf1be000/role-mappings/realm
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3610 次 |
| 最近记录: |