Keycloak java client 403 при получении сведений о роли - PullRequest
0 голосов
/ 08 января 2020

Я работаю с Keycloak 8.0.1, и это java клиент keycloak-admin-client библиотека.

это мой Keycloak config

public Keycloak keycloakClient(AdapterConfig config) {
    return KeycloakBuilder.builder()
            .clientId(config.getResource())
            .clientSecret((String) config.getCredentials().get(CredentialRepresentation.SECRET))
            .grantType(OAuth2Constants.CLIENT_CREDENTIALS)
            .realm(config.getRealm())
            .serverUrl(config.getAuthServerUrl())
            .build();
}

И с этим кодом я Хотелось бы создать пользователя и назначить ему роль

final UserRepresentation user = createUserRepresentation(data);
final UsersResource userResource = getRealmResource().users();
try (Response response = userResource.create(user)) {
    if (response.getStatusInfo().getFamily().equals(Response.Status.Family.SUCCESSFUL)) {
        final String userId = response.getLocation().getPath().replaceAll(".*/([^/]+)$", "$1");
        final RolesResource rolesResource = getRealmResource().roles();
        final RoleResource roleResource = rolesResource.get(data.getRole().getRemoteName());
        final RoleRepresentation role = roleResource.toRepresentation();
        userResource.get(userId).roles().realmLevel().add(Collections.singletonList(role));
        return userId;
    } else {
        throw new IllegalStateException("Unable to create user " + response.getStatusInfo().getReasonPhrase());
    }
}

, однако в строке final RoleRepresentation role = roleResource.toRepresentation(); с сообщением javax.ws.rs.ForbiddenException: HTTP 403 Forbidden.

я не могу понять, почему я это получаю ошибка, потому что мой клиент назначил все роли из realm-management client

create-client
impersonation
manage-authorization
manage-clients
manage-events
manage-identity-providers
manage-realm
manage-users
query-clients
query-groups
query-realms
query-users
realm-admin
view-authorization
view-clients
view-events
view-identity-providers
view-realm
view-users

Есть ли какие-либо настройки, которые мне не хватает или это ошибка?

Спасибо

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