Невозможно получить доступ к keycloak из-за неправильного пароля клиента

Мне нужно соединение Java Keycloak(2.3) для возврата токенов, однако я столкнулся с проблемами гораздо раньше. При POST-запросе моего экземпляра Keycloak в Postman я получаю следующие ошибки в конкретной консоли.

Это пример из Keycloak, на котором основан мой код.

Keycloak:

17:54:47,586 WARN  [org.keycloak.events] (default task-25) type=LOGIN_ERROR, realmId=master, clientId=admin-cli, userId=null, ipAddress=127.0.0.1, error=invalid_client_credentials, grant_type=password

Wildfly:

17:55:14,310 ERROR [stderr] (default task-48) javax.ws.rs.BadRequestException: HTTP 400 Bad Request

Джава:

Keycloak keycloak = Keycloak.getInstance(
           KEYCLOAK_TOKEN_RESOURCE_URI,
           REALM,
           KEYCLOAK_USERNAME,
           KEYCLOAK_PASSWORD,
            KEYCLOAK_CLIENT);
    RealmRepresentation realm = keycloak.realm(REALM).toRepresentation();

2 ответа

Решение

Я смог решить проблему, изменив свой код Java на следующий

Keycloak keycloak = KeycloakBuilder.builder()
.serverUrl(KEYCLOAK_TOKEN_RESOURCE_URI)
.realm(REALM)
.username(KEYCLOAK_USERNAME)
.password(KEYCLOAK_PASSWORD)
.clientId(KEYCLOAK_CLIENT)
.clientSecret(CLIENT_SECRET)
.build();
Keycloak keycloak = KeycloakBuilder.builder().serverUrl(KEYCLOAK_TOKEN_RESOURCE_URI).realm(REALM)
            .username(KEYCLOAK_USERNAME).password(KEYCLOAK_PASSWORD).clientId(KEYCLOAK_CLIENT)
            .clientSecret("input-here-your-client-secret").build();

Может быть, это должно работать, потому что Keycloak 2.3.Final имеет ошибку в методе Keycloak.getInstance(...).

Другие вопросы по тегам