Выполнение приведенных ниже команд для импорта пользователя с ролями.
./kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin --password [pass]
./kcadm.sh create users -r [realm_name] -f user-admin.json
user-admin.json выглядит так:
{
"username": "adminLocal",
"enabled": true,
"totp": false,
"emailVerified": false,
"firstName": "admin",
"lastName": "local",
"email": "adminLocal@domain.com",
"disableableCredentialTypes": ["password"],
"requiredActions": [],
"notBefore": 0,
"access": {
"manageGroupMembership": true,
"view": true,
"mapRoles": true,
"impersonate": true,
"manage": true
},
"credentials" : [
{
"value" : "secret",
"type" : "password",
"temporary" : false
}
],
"realmRoles" : ["admin","offline_access","uma_authorization"]
}
Ожидается назначение всех указанных ролей в ключе "realmRoles" . Однако только Realm Default Roles: "offline_access","uma_authorization"
были назначены пользователю.
Роли существуют и были добавлены заранее через интерфейс администратора Keycloak.
Можно создать пользователя, а затем назначить роли в качестве обходного пути. Однако хотел бы сделать это одной командой.