register keycloak user (needs manage realm-user privilege)
This commit is contained in:
parent
6aaf6dbeb4
commit
df7e4e7f0e
@ -18,7 +18,7 @@ apply plugin: 'war'
|
|||||||
apply plugin: 'application'
|
apply plugin: 'application'
|
||||||
|
|
||||||
group = 'de.jottyfan.camporganizer'
|
group = 'de.jottyfan.camporganizer'
|
||||||
version = '0.1.5'
|
version = '0.1.6'
|
||||||
sourceCompatibility = 17
|
sourceCompatibility = 17
|
||||||
mainClassName = "de.jottyfan.camporganizer.Main"
|
mainClassName = "de.jottyfan.camporganizer.Main"
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ package de.jottyfan.camporganizer.module.registration;
|
|||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
import javax.ws.rs.client.Client;
|
|
||||||
import javax.ws.rs.core.Response;
|
import javax.ws.rs.core.Response;
|
||||||
import javax.ws.rs.core.Response.Status;
|
import javax.ws.rs.core.Response.Status;
|
||||||
|
|
||||||
@ -100,19 +99,36 @@ public class KeycloakRepository {
|
|||||||
*/
|
*/
|
||||||
protected boolean register(UsersResource resource, UserRepresentation user) {
|
protected boolean register(UsersResource resource, UserRepresentation user) {
|
||||||
Response response = resource.create(user);
|
Response response = resource.create(user);
|
||||||
|
LOGGER.info("created new keycloak user {}", user.getUsername());
|
||||||
return Status.OK.equals(response.getStatusInfo());
|
return Status.OK.equals(response.getStatusInfo());
|
||||||
}
|
}
|
||||||
|
|
||||||
public Client getClient() {
|
/**
|
||||||
return new ResteasyClientBuilderImpl().connectionPoolSize(10).build();
|
* generate a keycloak object with the special arguments
|
||||||
}
|
*
|
||||||
|
* @param url the url
|
||||||
|
* @param realm the realm
|
||||||
|
* @param admin the admin of the realm
|
||||||
|
* @param password the password
|
||||||
|
* @param clientId the client ID
|
||||||
|
* @return the keycloak object
|
||||||
|
*/
|
||||||
public KeycloakBuilder getKeycloak(String url, String realm, String admin, String password, String clientId) {
|
public KeycloakBuilder getKeycloak(String url, String realm, String admin, String password, String clientId) {
|
||||||
return KeycloakBuilder.builder().serverUrl(url).realm(realm).grantType(OAuth2Constants.PASSWORD)
|
return KeycloakBuilder.builder().serverUrl(url).realm(realm).grantType(OAuth2Constants.PASSWORD)
|
||||||
.username(admin).password(password).clientId(clientId)
|
.username(admin).password(password).clientId(clientId)
|
||||||
.resteasyClient(getClient());
|
.resteasyClient(new ResteasyClientBuilderImpl().connectionPoolSize(10).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* generate a users resource object
|
||||||
|
*
|
||||||
|
* @param url the url
|
||||||
|
* @param realm the realm
|
||||||
|
* @param admin the admin of the realm
|
||||||
|
* @param password the password
|
||||||
|
* @param clientId the client ID
|
||||||
|
* @return the users resource
|
||||||
|
*/
|
||||||
public UsersResource getUsersResource(String url, String realm, String admin, String password, String clientId) {
|
public UsersResource getUsersResource(String url, String realm, String admin, String password, String clientId) {
|
||||||
return getKeycloak(url, realm, admin, password, clientId).build().realm(realm).users();
|
return getKeycloak(url, realm, admin, password, clientId).build().realm(realm).users();
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ public class TestKeycloakRepository {
|
|||||||
public void testRegister() {
|
public void testRegister() {
|
||||||
KeycloakRepository repository = new KeycloakRepository();
|
KeycloakRepository repository = new KeycloakRepository();
|
||||||
UserRepresentation user = repository.getUserRepresentation("Hans", "Dampf", "hans@dampf.org");
|
UserRepresentation user = repository.getUserRepresentation("Hans", "Dampf", "hans@dampf.org");
|
||||||
UsersResource resource = repository.getUsersResource("http://localhost:8080", "ow", "admin", "password", "biblecamp");
|
UsersResource resource = repository.getUsersResource("http://localhost:8080", "ow", "owadmin", "password", "biblecamp");
|
||||||
assertTrue(repository.register(resource, user));
|
assertTrue(repository.register(resource, user));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user