Невозможно получить доступ к 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(...).