Назначить роль пользователю Keycloak Admin Client - PullRequest
0 голосов
/ 09 января 2019

У меня проблема при попытке назначить роль пользователю через клиент администратора keycloak. Это всегда возвращает плохой запрос. Сначала я создал новое царство в keycloak с новым клиентом. Я создал пару пользователей и назначил все роли от клиента управления областями одному из пользователей. Я использовал учетные данные этого пользователя в KeycloakBuilder.

Теперь клиент администратора может создавать пользователей, но назначение роли возвращает 400 неверных запросов. Ниже приведен фрагмент кода

class KeycloakKonfig {
    var keycloak: Keycloak = KeycloakBuilder.builder()
        .serverUrl("http://localhost:8080/auth")
        .username("username")
        .password("password")
        .realm("realm")
        .clientId("clientId")
        .clientSecret("clientSecret")

        .resteasyClient(ResteasyClientBuilder().connectionPoolSize(20).register(CustomJacksonProvider()).build())

        .build()
}

тело метода в контроллере

val savedRoleRepresentation = KeycloakKonfig().keycloak.realm("realm").roles().get("role").toRepresentation()
KeycloakKonfig().keycloak.realm("realm").users().get("userId").roles().realmLevel().add(Arrays.asList(savedRoleRepresentation))

Спасибо

1 Ответ

0 голосов
/ 18 января 2019

Проблема была в версии keycloak. У меня был Keycloak 4.5.0, который не позволяет создавать роли и назначать их пользователю через KeycloakBuilder. Я перешел на Keycloak 4.8.3 и все работает отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...