keycloak 관리 클라이언트의 반환을 통해 keycloak에서 사용자를 만듭니다는 IllegalArgumentException

ksadjad :

나는 keycloak 관리자 클라이언트를 통해 사용자를 만들려하지만 난 점점 오전 :

java.lang.IllegalArgumentException가이 : RESTEASY003720 : 경로 PARAM 영역은 매개 변수지도가 제공되지 않은

여기 keycloak 내 콩입니다 :

@Bean
Keycloak keycloak() {
return KeycloakBuilder
    .builder()
    .serverUrl(localhost:9080/auth)
    .realm(REALM)
    .clientId(CLIENT_ID)
    .username(USERNAME)
    .password(PASSWORD)
    .resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build())
    .build();
}

나는 keycloak를 호출하는 코드를 사용

CredentialRepresentation credentialRepresentation = new 
CredentialRepresentation();
credentialRepresentation.setType(CredentialRepresentation.PASSWORD);
credentialRepresentation.setValue(password);
UserRepresentation userRepresentation = new UserRepresentation();
userRepresentation.setUsername(username);
userRepresentation.setFirstName(firstName);
userRepresentation.setLastName(lastName);
userRepresentation.setEnabled(true);
userRepresentation.setCredentials(
    Arrays.asList(credentialRepresentation));
keycloak.realm(REALM).users().create(userRepresentation);

keycloak 및 keycloak 관리 클라이언트가 동일한 버전입니다 (4.0.0.Final)

내 스택 트레이스는 다음과 같습니다 :

java.lang.IllegalArgumentException가 : RESTEASY003720 : PARAM 경로 영역은 org.jboss.resteasy.specimpl.ResteasyUriBuilder.buildString에서 org.jboss.resteasy.specimpl.ResteasyUriBuilder.replaceParameter (ResteasyUriBuilder.java:659)에서의 파라미터 폴더가 제공 한 org.jboss에서 org.jboss.resteasy.specimpl.ResteasyUriBuilder.build (ResteasyUriBuilder.java:772)에서 org.jboss.resteasy.specimpl.ResteasyUriBuilder.buildFromValues에서 (ResteasyUriBuilder.java:581) (ResteasyUriBuilder.java:780). org.jboss.resteasy에서 resteasy.client.jaxrs.internal.ClientWebTarget.getUri org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.createRequest (ClientInvoker.java:124)에서 (ClientWebTarget.java:108). org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke (ClientProxy.java에서 client.jaxrs.internal.proxy.ClientInvoker.invoke (ClientInvoker.java:104) :com.sun.proxy 76). org.keycloak.admin.client.token.TokenManager에서 org.keycloak.admin.client.token.TokenManager.grantToken에서 $ Proxy240.grantToken (알 소스) (TokenManager.java:89) org.mycompany.usermanagement.service.KeycloakService.createUserInSSO에서 .getAccessToken (TokenManager.java:69) (KeycloakService.java:45)

여기 내 build.gradle입니다

compile group: 'org.keycloak', name: 'keycloak-admin-client', version: '4.0.0.Final'
compile group: 'org.jboss.resteasy', name: 'resteasy-jaxrs', version: '3.1.4.Final'
compile group: 'org.jboss.resteasy', name: 'resteasy-client', version: '3.1.4.Final'
compile group: 'org.jboss.resteasy', name: 'resteasy-jackson2-provider', version: '3.1.4.Final'
검은 진주 :

당신은 봄 부팅을 사용하고 있습니까?

나는 나 자신을 위해 시나리오를 시도하고, (keycloak 4.0.0 봄 부팅 1.5.10.RELEASE 테스트) 나를 위해 잘 작동했다.

난 당신이 콩 Keycloak (내 코드는 공식에서입니다 만드는 방법 것이 하나 개의 변화를 수행 한 문서 ). 있는지 확인 realm이다 master하고 client_id있다 admin-cli.

@Bean
Keycloak initKeycloakWithAdminRole() {
    return Keycloak.getInstance(
            "http://localhost:8080/auth",
            "master",
            "admin",
            "admin",
            "admin-cli");


내 코드

서비스 코드

컨트롤러 코드

Depedencies 여기

추천

출처http://43.154.161.224:23101/article/api/json?id=167310&siteId=1