我一直在尝试将一些管理角色分配给我设置的机密客户端的服务帐户,但是似乎我可能设置了错误的呼叫,因为我收到了 404 错误:
{"error":"User not found","error_description":"For more on this error consult the server log at the debug level."}
我使用的管理端点是
POST {host}/admin/realms/{realm}/users/{userId}/role-mappings/clients/{clientId}
,其中 realm
是我创建的有效的活动领域,userId
是机密客户端服务帐户的 ID,clientId
是机密客户端的 ID .
请求正文类似于
[{ id: {roleId}, name: {roleName}]
。我尝试分配的角色是 manage-users
,在自动生成的 realm-management
客户端中定义。
我已通过调用
realm-management
获取了 GET host/admin/realms/{realm}/clients
客户端 ID,并查找具有指定名称的条目。
我通过使用上一步中获得的客户端 ID 调用
GET {host}/admin/realms/{realm}/clients/{clientId}/service-account-user
来获取服务帐户 ID。
最后,我使用相同的客户端 ID 使用
manage-users
获得了 GET {host}/admin/realms/{realm}/clients/{clientId}/roles
的角色 ID。
我是否调用了错误的端点?还是我一路上提供了错误的 ID?
事实证明,您实际上需要将
realm-management
客户端 ID 传递给初始角色映射调用。就是这样。