Hey community,
I have a program that has to create user accounts programmatically. So I use the keycloak
java client api like this:
Keycloak kc = KeycloakBuilder.builder()
.serverUrl("http://your.keycloak.domain/auth")
.realm("master")
.username("admin")
.password("secret")
.clientId("admin-cli")
.resteasyClient(
new ResteasyClientBuilder()
.connectionPoolSize(10).build()
).build();
UserRepresentation userRepresentation = new UserRepresentation();
String email = "test(a)test.de";
userRepresentation.setEmail(email);
userRepresentation.setUsername(email);
kc.realm("myclientapp").users().create(userRepresentation);
I have a couple of questions regarding the code:
- Is this a proper way of using the java client api?
- Is there a way of encrypt the password (I am usually not a big fan of dealing with clear
text passwords inside the code)?
- Currently I use the master admin user to connect to keycloak. How can I create, and
restrict a user-mgmt-admin that is restricted to only handle user mgmt tasks?
I hope some of you can provide me some help, Thanks in advance.
Andreas