java - 无法使用 keycloak-admin-client 在 Keycloak 中创建用户

标签 java spring keycloak

我想使用 Keycloak 作为我的 Spring Boot 应用程序的身份提供程序,但我无法创建新用户。

我已经在 Keycloak 中创建了一个新领域,并将我的 Spring Boot 应用程序与身份提供者连接起来。

Keycloak kc = KeycloakBuilder.builder()
    .serverUrl("http://localhost:8080/auth")
    .username("admin")
    .password("admin")
    .clientId("admin-cli")
    .authorization("authorization") // it throws 403: Unauthorized without this line 
    .realm("master")
    .resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build())
    .build();

CredentialRepresentation passwordCred = new CredentialRepresentation();
passwordCred.setTemporary(false);
passwordCred.setType(CredentialRepresentation.PASSWORD);
passwordCred.setValue("admin");

UserRepresentation user = new UserRepresentation();
user.setEnabled(true);
user.setUsername("username");
user.setCredentials(Collections.singletonList(passwordCred));

Response response = kc
    .realm("master")
    .users()
    .create(user);

我提供的代码应该创建一个新用户,但事实并非如此。它也不会抛出异常。

最佳答案

创建用户后尝试关闭响应,以确保刷新所有数据:

Response response = kc
.realm("admin-cli")
.users()
.create(user);    

response.close();

关于java - 无法使用 keycloak-admin-client 在 Keycloak 中创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57240909/

相关文章:

java - Runtime.exec() 无法运行 "su - postgres -c ' pg_dump .. .'"

java - 如何从 Java 获取 Acoustid (Chromaprint) 来识别 mp3/m4a/etc

java - 如何在 Spring 中解析 XML 消息负载?

mysql - docker compose 上的 Keycloak + mysql。没有保存数据

postgresql - Keycloak 无法连接到 Postgres : "SSL connection is required"

java - 我正在使用自定义列表有两个按钮,一个表单和第二个用于 whatsapp

java - QDox 获取枚举值名称

java - 在运行时根据输入从属性文件中获取值 - java Spring

java - 如何使用 Spring MySQL 和 RowCallbackHandler 管理大型数据集

docker - JBoss/Keycloak 服务器 : Update self-signed Server SSl certificate