我想将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/