在 Keycloak 中创建新用户期间未分配客户端角色

Sla*_*Muz 8 java api curl keycloak keycloak-services

我试图创建具有客户角色的新用户。我有客户角色: - 管理员 - 操作员 - 经理

在创建用户期间,我想为用户分配一个客户端角色

我的卷发:

curl -X POST -H 'Authorization: Bearer token' -H 'Content-Type: application/json' -i 'http://localhost.com/auth/admin/realms/realm/users' --data '{
  "username": "test301@qqq.bbb",
  "enabled": true,
  "firstName": "",
  "lastName": "",
  "email": "test301@qqq.bbb",
  "credentials": [
    {
      "type": "password",
      "value": "qq",
      "temporary": false
    }
  ],
  "clientRoles": {
    "suppression": [
      "Admin"
    ]
  }
}'
Run Code Online (Sandbox Code Playgroud)

用户已成功创建,但尚未分配角色。我也想在一个请求中做到这一点

小智 4

这不是向用户分配角色的正确方法。这是一个循序渐进的过程 - 第 1 步 - 在 keycloak 中创建用户。

curl -X POST -H 'Authorization: Bearer token' -H 'Content-Type: application/json' -i 'http://localhost.com/auth/admin/realms/realm/users' --data '{.....
Run Code Online (Sandbox Code Playgroud)

步骤 2 - 然后使用不同的 API 将此用户映射到某个客户端角色。

POST /admin/realms/{realm}/users/{id}/role-mappings/clients/{client}
Run Code Online (Sandbox Code Playgroud)

有关此 API 的完整规范,您可以在 Keycloak ADMIN API 文档中搜索此 API。这是链接 https://www.keycloak.org/docs-api/3.0/rest-api/index.html 并搜索“将客户端级角色添加到用户角色映射”

  • 为什么这么简单的事情必须分两个过程 (2认同)
  • @aswzen 它的钥匙斗篷,隐含的复杂性 DNA,为什么感到惊讶? (2认同)