8

クライアントの役割を持つ新しいユーザーを作成しようとしました。クライアントの役割があります: - 管理者 - オペレーター - マネージャー

そして、ユーザーの作成中に、ユーザーにクライアントロールを割り当てたい

私のカール:

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"
    ]
  }
}'

ユーザーは正常に作成されましたが、役割が割り当てられていません。また、これを1回のリクエストで行いたい

4

2 に答える 2

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 '{.....

ステップ 2 - 次に、別の API を使用して、このユーザーを特定のクライアント ロールにマップします。

POST /admin/realms/{realm}/users/{id}/role-mappings/clients/{client}

この API の完全な仕様については、Keycloak ADMIN API ドキュメントでこの API を検索できます。ここにリンク https://www.keycloak.org/docs-api/3.0/rest-api/index.html があり、「クライアントレベルのロールをユーザーロールマッピングに追加する」を検索します

于 2019-05-04T09:53:41.213 に答える