Я хочу обновить сведения о пользователе. например Я создал пользователя (k1) в "демонстрационной" области из административной консоли keycloak. У меня есть один клиент Java, и я хочу обновить данные пользователя (k1), например. Изменить адрес электронной почты пользователя k1.
Я использовал клиент администратора (Rest API), как показано ниже.
public void updateEmail(final String newEmailAddress) {
try {
final AccessToken accessToken = getToken();
Keycloak keycloak = KeycloakBuilder.builder().serverUrl(this.getDeployment().getAuthServerBaseUrl())
.realm(this.getDeployment().getRealm()).username("k1").password("123").clientId(ADMIN_CLIENT)
.resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build()).build();
UserResource userResource = keycloak.realm(this.getDeployment().getRealm()).users()
.get(accessToken.getSubject());
UserRepresentation user = userResource.toRepresentation();
user.setEmail(newEmailAddress);
userResource.update(user);
} catch (Exception exception) {
exception.printStackTrace();
}
}
Но я хочу сделать то же самое без использования клиента администратора.