создать пользователя в keycloak 4.8.3 программно с Java - PullRequest
0 голосов
/ 30 марта 2019

Я хочу создать пользователя через клиент администратора keycloak, но получаю:

Исключение в потоке "main" javax.ws.rs.ProcessingException: javax.ws.rs.BadRequestException: HTTPНеправильный запрос 400

Заголовок Я ожидаю, что возвращенный пользователь успешно создан, но он генерирует ошибку 400 неверных запросов

String serverUrl = "http://localhost:8180/auth";
String realm = "demo";
String clientId = "idm-client";
String clientSecret = "a200cdf6-ad72-4f6c-af73-5b8e1cc48876";

Keycloak keycloak = KeycloakBuilder.builder() 
    .serverUrl(serverUrl) //
    .realm(realm) //
    .grantType(OAuth2Constants.CLIENT_CREDENTIALS) //
    .clientId(clientId) //
    .clientSecret(clientSecret).build();

// Define user
UserRepresentation user = new UserRepresentation();
user.setEnabled(true);
user.setUsername("tester1");
user.setFirstName("First");
user.setLastName("Last");
user.setEmail("tom+tester1@tdlabs.local");
user.setAttributes(Collections.singletonMap("origin", 
Arrays.asList("demo")));

// Get realm
RealmResource realmResource = keycloak.realm(realm);
UsersResource userRessource = realmResource.users();

// Create user (requires manage-users role)
Response response = userRessource.create(user);
System.out.println("Repsonse: " + response.getStatusInfo());

Строка, которая генерирует ошибку:

Response response = userRessource.create(user);

1 Ответ

0 голосов
/ 03 апреля 2019

Вы можете создать пользователя, если измените свой код с:

String clientId = "idm-client";
String clientSecret = "a200cdf6-ad72-4f6c-af73-5b8e1cc48876";

Keycloak keycloak = KeycloakBuilder.builder() 
    .serverUrl(serverUrl) //
    .realm(realm) //
    .grantType(OAuth2Constants.CLIENT_CREDENTIALS) //
    .clientId(clientId) //
    .clientSecret(clientSecret).build();

на:

Keycloak keycloak = Keycloak.getInstance(
    serverUrl,
    "master",
    "admin", // Change to your admin name
    "password", // Change to your admin password
    "admin-cli");

См. Также: Руководство разработчика сервера Keycloak - 2.2.Пример использования Java

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