我已经尝试过: url =“ https:// {localhost} / auth / admin / realms / {realm_name} / groups / {group_id} / role-mappings” payload = [{“ id”:“ role_id”,“ name”:“ Role_name”,“ composite”:“ false”,“ clientRole”:“ true”,“ containerId”:“ client_id”}]
但是,它不起作用,我认为它可能与错误的有效载荷有关 任何想法请
答案 0 :(得分:0)
我们可以使用python-keycloak lib:https://pypi.org/project/python-keycloak/ 有一个功能:assign_group_client_roles
答案 1 :(得分:0)
格式正确,但是您确保客户端具有可用的有效角色。 例如,“ HR”组为“ RomoteApp”客户端添加了“平铺限制”角色。
在Keycloak用户界面中,@客户端> RemoteApp>角色
角色名称
time limit
组>小时 客户端角色:RemoteApp 可用角色:时间限制 分配的角色:尚未包括“时间限制”
邮递员(Postman)推荐的POST-由于stan溢出水平低,我无法附加图片 http://127.0.0.1:8080/auth/admin/realms/Test-realm/groups/9efef6bf-7edb-496e-bc0d-a8d4f5f4e3a9/role-mappings/clients/60a19179-f244-42f8-9950-04f2119a4e5b?client=RemoteApp&id=60a19179-f244-42f8-9950-04f2119a4e5b&realm=Test-realm
带有行JSON选项的邮递员正文中(Content-Type:application / json)
[
{
"id": "e17f9f7f-62dc-4998-b058-49b845ff5cef",
"name": "time limit",
"description": "time limit",
"composite": false,
"clientRole": true,
"containerId": "60a19179-f244-42f8-9950-04f2119a4e5b"
}
]
组列表
{
"id": "9efef6bf-7edb-496e-bc0d-a8d4f5f4e3a9",
"name": "hr",
"path": "/hr",
"subGroups": []
}
客户列表
{
"id": "60a19179-f244-42f8-9950-04f2119a4e5b",
"clientId": "RemoteApp",
...
}
也不记得令牌端点w / grant_type调用的访问令牌是password
http://127.0.0.1:8080/auth/realms/Test-realm/protocol/openid-connect/token