2016-10-22 27 views
0

我正在執行Keycloak Admin Client的示例。 此示例用於在keycloak應用程序中添加/刪除用戶。執行Keycloak客戶端的問題示例

不幸的是,我得到這個錯誤:

/usr/lib/jvm/java-7-openjdk-amd64/bin/java -Didea.launcher.port=7534 -Didea.launcher.bin.path=/home/celsoagra/idea-IU-145.972.3/bin -Dfile.encoding=UTF-8 -classpath /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/compilefontconfig.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/icedtea-sound.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/java-atk-wrapper.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/sunjce_provider.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/zipfs.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/javazic.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/management-agent.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/home/celsoagra/ws-intellij/RESTfulExample/target/classes:/home/celsoagra/.m2/repository/org/keycloak/keycloak-admin-client/2.3.0.CR1/keycloak-admin-client-2.3.0.CR1.jar:/home/celsoagra/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar:/home/celsoagra/.m2/repository/org/jboss/resteasy/resteasy-jaxrs/3.0.19.Final/resteasy-jaxrs-3.0.19.Final.jar:/home/celsoagra/.m2/repository/org/jboss/spec/javax/ws/rs/jboss-jaxrs-api_2.0_spec/1.0.0.Final/jboss-jaxrs-api_2.0_spec-1.0.0.Final.jar:/home/celsoagra/.m2/repository/org/jboss/spec/javax/annotation/jboss-annotations-api_1.2_spec/1.0.0.Final/jboss-annotations-api_1.2_spec-1.0.0.Final.jar:/home/celsoagra/.m2/repository/javax/activation/activation/1.1.1/activation-1.1.1.jar:/home/celsoagra/.m2/repository/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.jar:/home/celsoagra/.m2/repository/org/apache/httpcomponents/httpcore/4.3.3/httpcore-4.3.3.jar:/home/celsoagra/.m2/repository/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/home/celsoagra/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar:/home/celsoagra/.m2/repository/commons-io/commons-io/2.1/commons-io-2.1.jar:/home/celsoagra/.m2/repository/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar:/home/celsoagra/.m2/repository/org/jboss/logging/jboss-logging/3.1.4.GA/jboss-logging-3.1.4.GA.jar:/home/celsoagra/.m2/repository/org/keycloak/keycloak-core/1.9.2.Final/keycloak-core-1.9.2.Final.jar:/home/celsoagra/.m2/repository/org/keycloak/keycloak-common/1.9.2.Final/keycloak-common-1.9.2.Final.jar:/home/celsoagra/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.52/bcprov-jdk15on-1.52.jar:/home/celsoagra/.m2/repository/org/bouncycastle/bcpkix-jdk15on/1.52/bcpkix-jdk15on-1.52.jar:/home/celsoagra/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.5.4/jackson-core-2.5.4.jar:/home/celsoagra/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.5.4/jackson-databind-2.5.4.jar:/home/celsoagra/.m2/repository/org/jboss/resteasy/resteasy-jackson2-provider/3.0.19.Final/resteasy-jackson2-provider-3.0.19.Final.jar:/home/celsoagra/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.6.3/jackson-annotations-2.6.3.jar:/home/celsoagra/.m2/repository/com/fasterxml/jackson/jaxrs/jackson-jaxrs-json-provider/2.6.3/jackson-jaxrs-json-provider-2.6.3.jar:/home/celsoagra/.m2/repository/com/fasterxml/jackson/jaxrs/jackson-jaxrs-base/2.6.3/jackson-jaxrs-base-2.6.3.jar:/home/celsoagra/.m2/repository/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.6.3/jackson-module-jaxb-annotations-2.6.3.jar:/home/celsoagra/.m2/repository/org/jboss/resteasy/resteasy-jettison-provider/3.0.19.Final/resteasy-jettison-provider-3.0.19.Final.jar:/home/celsoagra/.m2/repository/org/jboss/resteasy/resteasy-jaxb-provider/3.0.19.Final/resteasy-jaxb-provider-3.0.19.Final.jar:/home/celsoagra/.m2/repository/com/sun/xml/bind/jaxb-impl/2.2.7/jaxb-impl-2.2.7.jar:/home/celsoagra/.m2/repository/com/sun/xml/bind/jaxb-core/2.2.7/jaxb-core-2.2.7.jar:/home/celsoagra/.m2/repository/javax/xml/bind/jaxb-api/2.2.7/jaxb-api-2.2.7.jar:/home/celsoagra/.m2/repository/com/sun/istack/istack-commons-runtime/2.16/istack-commons-runtime-2.16.jar:/home/celsoagra/.m2/repository/com/sun/xml/fastinfoset/FastInfoset/1.2.12/FastInfoset-1.2.12.jar:/home/celsoagra/.m2/repository/javax/xml/bind/jsr173_api/1.0/jsr173_api-1.0.jar:/home/celsoagra/.m2/repository/org/codehaus/jettison/jettison/1.3.2/jettison-1.3.2.jar:/home/celsoagra/.m2/repository/org/jboss/resteasy/resteasy-client/3.0.19.Final/resteasy-client-3.0.19.Final.jar:/home/celsoagra/.m2/repository/org/jboss/resteasy/jaxrs-api/3.0.12.Final/jaxrs-api-3.0.12.Final.jar:/home/celsoagra/.m2/repository/org/jboss/resteasy/resteasy-jackson-provider/3.0.19.Final/resteasy-jackson-provider-3.0.19.Final.jar:/home/celsoagra/.m2/repository/org/codehaus/jackson/jackson-core-asl/1.9.12/jackson-core-asl-1.9.12.jar:/home/celsoagra/.m2/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.12/jackson-mapper-asl-1.9.12.jar:/home/celsoagra/.m2/repository/org/codehaus/jackson/jackson-jaxrs/1.9.12/jackson-jaxrs-1.9.12.jar:/home/celsoagra/.m2/repository/org/codehaus/jackson/jackson-xc/1.9.12/jackson-xc-1.9.12.jar:/home/celsoagra/idea-IU-145.972.3/lib/idea_rt.jar com.intellij.rt.execution.application.AppMain com.mkyong.rest.client.RESTEasyClientKeycloak 
2016-10-24 17:00:40 DEBUG logging:26 - Logging Provider: org.jboss.logging.Log4jLoggerProvider 
2016-10-24 17:00:40 DEBUG i18n:58 - RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false 
2016-10-24 17:00:40 DEBUG i18n:67 - RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true 
2016-10-24 17:00:40 DEBUG i18n:76 - RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true 
2016-10-24 17:00:40 DEBUG i18n:58 - RESTEASY002330: Unable to retrieve config: expandEntityReferences defaults to false 
2016-10-24 17:00:40 DEBUG i18n:67 - RESTEASY002335: Unable to retrieve config: enableSecureProcessingFeature defaults to true 
2016-10-24 17:00:40 DEBUG i18n:76 - RESTEASY002325: Unable to retrieve config: disableDTDs defaults to true 
2016-10-24 17:00:41 DEBUG PoolingClientConnectionManager:182 - Connection request: [route: {}->http://localhost:8081][total kept alive: 0; route allocated: 0 of 10; total allocated: 0 of 10] 
2016-10-24 17:00:41 DEBUG PoolingClientConnectionManager:214 - Connection leased: [id: 0][route: {}->http://localhost:8081][total kept alive: 0; route allocated: 1 of 10; total allocated: 1 of 10] 
2016-10-24 17:00:41 DEBUG DefaultClientConnectionOperator:174 - Connecting to localhost:8081 
2016-10-24 17:00:41 DEBUG RequestAddCookies:122 - CookieSpec selected: best-match 
2016-10-24 17:00:41 DEBUG RequestAuthCache:75 - Auth cache not set in the context 
2016-10-24 17:00:41 DEBUG RequestTargetAuthentication:78 - Target auth state: UNCHALLENGED 
2016-10-24 17:00:41 DEBUG RequestProxyAuthentication:87 - Proxy auth state: UNCHALLENGED 
2016-10-24 17:00:41 DEBUG DefaultHttpClient:683 - Attempt 1 to execute request 
2016-10-24 17:00:41 DEBUG DefaultClientConnection:268 - Sending request: POST /auth/realms/master/protocol/openid-connect/token HTTP/1.1 
2016-10-24 17:00:41 DEBUG wire:72 - >> "POST /auth/realms/master/protocol/openid-connect/token HTTP/1.1[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - >> "Accept: application/json[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - >> "Accept-Encoding: gzip, deflate[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - >> "Content-Type: application/x-www-form-urlencoded[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - >> "Content-Length: 65[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - >> "Host: localhost:8081[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - >> "Connection: Keep-Alive[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - >> "[\r][\n]" 
2016-10-24 17:00:41 DEBUG headers:272 - >> POST /auth/realms/master/protocol/openid-connect/token HTTP/1.1 
2016-10-24 17:00:41 DEBUG headers:275 - >> Accept: application/json 
2016-10-24 17:00:41 DEBUG headers:275 - >> Accept-Encoding: gzip, deflate 
2016-10-24 17:00:41 DEBUG headers:275 - >> Content-Type: application/x-www-form-urlencoded 
2016-10-24 17:00:41 DEBUG headers:275 - >> Content-Length: 65 
2016-10-24 17:00:41 DEBUG headers:275 - >> Host: localhost:8081 
2016-10-24 17:00:41 DEBUG headers:275 - >> Connection: Keep-Alive 
2016-10-24 17:00:41 DEBUG wire:86 - >> "grant_type=password&username=admin&password=admin&client_id=cloak" 
2016-10-24 17:00:41 DEBUG wire:72 - << "HTTP/1.1 200 OK[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - << "Connection: keep-alive[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - << "X-Powered-By: Undertow/1[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - << "Server: WildFly/10[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - << "Content-Type: application/json[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - << "Content-Length: 4884[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - << "Date: Mon, 24 Oct 2016 20:00:41 GMT[\r][\n]" 
2016-10-24 17:00:41 DEBUG wire:72 - << "[\r][\n]" 
2016-10-24 17:00:41 DEBUG DefaultClientConnection:253 - Receiving response: HTTP/1.1 200 OK 
2016-10-24 17:00:41 DEBUG headers:256 - << HTTP/1.1 200 OK 
2016-10-24 17:00:41 DEBUG headers:259 - << Connection: keep-alive 
2016-10-24 17:00:41 DEBUG headers:259 - << X-Powered-By: Undertow/1 
2016-10-24 17:00:41 DEBUG headers:259 - << Server: WildFly/10 
2016-10-24 17:00:41 DEBUG headers:259 - << Content-Type: application/json 
2016-10-24 17:00:41 DEBUG headers:259 - << Content-Length: 4884 
2016-10-24 17:00:41 DEBUG headers:259 - << Date: Mon, 24 Oct 2016 20:00:41 GMT 
2016-10-24 17:00:41 DEBUG DefaultHttpClient:510 - Connection can be kept alive indefinitely 
2016-10-24 17:00:41 DEBUG wire:86 - << "{"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJqS3dodmEzSXIyQmt2bEw5MjZudUZsTU9ZcUFEUWpMeGliMXYzRVZkOUswIn0.eyJqdGkiOiIzNDUxNjdhYS02NmRmLTQ1MTgtODdiMy0xYTUyZTZiOTQ0OTYiLCJleHAiOjE0NzczMzkzMDEsIm5iZiI6MCwiaWF0IjoxNDc3MzM5MjQxLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwODEvYXV0aC9yZWFsbXMvbWFzdGVyIiwiYXVkIjoiY2xvYWsiLCJzdWIiOiI2MjQwNzZjZS1jMGVmLTRhMjItYTg5OC02ZTAwMjU3MzhiMTYiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJjbG9hayIsImF1dGhfdGltZSI6MCwic2Vzc2lvbl9zdGF0ZSI6ImNiMTE0MDc3LTkzYWYtNDM5NS04NmRlLTg4MDdkZTc4OWE3ZiIsImFjciI6IjEiLCJjbGllbnRfc2Vzc2lvbiI6IjVjYjdhZmI2LWYzY2MtNGNkZS1hMWMzLWQzMzczYTBjNjVhMyIsImFsbG93ZWQtb3JpZ2lucyI6W10sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJjcmVhdGUtcmVhbG0iLCJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiZGVtby1yZWFsbSI6eyJyb2xlcyI6WyJ2aWV3LWlkZW50aXR5LXByb3ZpZGVycyIsInZpZXctcmVhbG0iLCJtYW5hZ2UtaWRlbnRpdHktcHJvdmlkZXJzIiwiaW1wZXJzb25hdGlvbiIsImNyZWF0ZS1jbGllbnQiLCJtYW5hZ2UtdXNlcnMiLCJ2aWV3LWF1dGhvcml6YXRpb24iLCJtYW5hZ2UtZXZlbnRzIiwibWFuYWdlLXJlYWxtIiwidmlldy1ldmVudHMiLCJ2aWV3LXVzZXJzIiwidmlldy1jbGllbnRzIiwibWFuYWdlLWF1dGhvcml6YXRpb24iLCJtYW5hZ2UtY2xpZW50cyJdfSwibWFzdGVyLXJlYWxtIjp7InJvbGVzIjpbInZpZXctaWRlbnRpdHktcHJvdmlkZXJzIiwidmlldy1yZWFsbSIsIm1hbmFnZS1pZGVudGl0eS1wcm92aWRlcnMiLCJpbXBlcnNvbmF0aW9uIiwiY3JlYXRlLWNsaWVudCIsIm1hbmFnZS11c2VycyIsInZpZXctYXV0aG9yaXphdGlvbiIsIm1hbmFnZS1ldmVudHMiLCJtYW5hZ2UtcmVhbG0iLCJ2aWV3LWV2ZW50cyIsInZpZXctdXNlcnMiLCJ2aWV3LWNsaWVudHMiLCJtYW5hZ2UtYXV0aG9yaXphdGlvbiIsIm1hbmFnZS1jbGllbnRzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50Iiwidmlldy1wcm9maWxlIl19fSwibmFtZSI6IiIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIn0.ZNtmxjTF6bkBURWj-78NWjpM_042AxNfLxkCaNfVZgSU4cNfUlNKHNMVKwL7HYiFFqpGOy0ZlYWYgTM1MMyMoQq7YzJTmfsiyUx5Q9cEEBtn8D761O6YIl0TsNsikolBxrNOmbqpfuuzuyxUR9hhwWezQFaEhIqUecLlcqXf6HOFn5ITKwlxShTf7JZZ5ynBK0pJrQpSy0CuhGAmDA1jZe-vaWmeYmeQVh_FoJRFnhgkj0d6G5eocmNYCcmfv-nOPnvP-aVa7Zv6Q7wzF_eAZ22YPuOGFeECnETL6w-fziEMcVk-mjW6BkqAO0XD0m3JKEw0-5SXN0BQuzKTj1eZ2Q","expires_in":60,"refresh_expires_in":1800,"refresh_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJqS3dodmEzSXIyQmt2bEw5MjZudUZsTU9ZcUFEUWpMeGliMXYzRVZkOUswIn0.eyJqdGkiOiJkYjRiZDFmOC01MzNmLTQ1MzgtODJlNi1hN2UwZTYxMDdmZjMiLCJleHAiOjE0NzczNDEwNDEsIm5iZiI6MCwiaWF0IjoxNDc3MzM5MjQxLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwODEvYXV0aC9yZWFsbXMvbWFzdGVyIiwiYXVkIjoiY2xvYWsiLCJzdWIiOiI2MjQwNzZjZS1jMGVmLTRhMjItYTg5OC02ZTAwMjU3MzhiMTYiLCJ0eXAiOiJSZWZyZXNoIiwiYXpwIjoiY2xvYWsiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiJjYjExNDA3Ny05M2FmLTQzOTUtODZkZS04ODA3ZGU3ODlhN2YiLCJjbGllbnRfc2Vzc2lvbiI6IjVjYjdhZmI2LWYzY2MtNGNkZS1hMWMzLWQzMzczYTBjNjVhMyIsInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJjcmVhdGUtcmVhbG0iLCJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiZGVtby1yZWFsbSI6eyJyb2xlcyI6WyJ2aWV3LWlkZW50aXR5LXByb3ZpZGVycyIsInZpZXctcmVhbG0iLCJtYW5hZ2UtaWRlbnRpdHktcHJvdmlkZXJzIiwiaW1wZXJzb25hdGlvbiIsImNyZWF0ZS1jbGllbnQiLCJtYW5hZ2UtdXNlcnMiLCJ2aWV3LWF1dGhvcml6YXRpb24iLCJtYW5hZ2UtZXZlbnRzIiwibWFuYWdlLXJlYWxtIiwidmlldy1ldmVudHMiLCJ2aWV3LXVzZXJzIiwidmlldy1jbGllbnRzIiwibWFuYWdlLWF1dGhvcml6YXRpb24iLCJtYW5hZ2UtY2xpZW50cyJdfSwibWFzdGVyLXJlYWxtIjp7InJvbGVzIjpbInZpZXctaWRlbnRpdHktcHJvdmlkZXJzIiwidmlldy1yZWFsbSIsIm1hbmFnZS1pZGVudGl0eS1wcm92aWRlcnMiLCJpbXBlcnNvbmF0aW9uIiwiY3JlYXRlLWNsaWVudCIsIm1hbmFnZS11c2VycyIsInZpZXctYXV0aG9yaXphdGlvbiIsIm1hbmFnZS1ldmVudHMiLCJtYW5hZ2UtcmVhbG0iLCJ2aWV3LWV2ZW50cyIsInZpZXctdXNlcnMiLCJ2aWV3LWNsaWVudHMiLCJtYW5hZ2UtYXV0aG9yaXphdGlvbiIsIm1hbmFnZS1jbGllbnRzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50Iiwidmlldy1wcm9maWxlIl19fX0.Ygp9BPw_Y5tYZc0jKpaFX1Tclupf1y9LpmhQxfH-GcoLBnqJcO8aiLxWDXb5d1o8ism649GlPmWv_RIPWMtBhoFBQITsY6lKhJadcjAxtT-y9IigidcdyMeIUH6igx5seVxhRlr_-qAumhyHDWgqOjbzvej-d_ImiZpBqRTnQutAsCTkwAwxKd8zN8eoYKY4rw72tPDDp9tQ0YzxvvDHHjcC0-F-8tqs5wM0vVQDMzJflV9QmrFqReOqPD4Cb94pEDBd514s9AcgNb79dNueKcSMt3Sl7NnZ6TaFlg_sq6x2L3g9-79hTCgBp58tvQ8EcSrD5jOuLAZAvJ8DPK9cog","token_type":"bearer","id_token":"eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJqS3dodmEzSXIyQmt2bEw5MjZudUZsTU9ZcUFEUWpMeGliMXYzRV" 
2016-10-24 17:00:41 DEBUG wire:86 - << "ZkOUswIn0.eyJqdGkiOiI1OGQ1ZjM3NC1hOWIwLTQyNzUtOTRlZi1lODBjYTUxNDIyYzAiLCJleHAiOjE0NzczMzkzMDEsIm5iZiI6MCwiaWF0IjoxNDc3MzM5MjQxLCJpc3MiOiJodHRwOi8vbG9jYWxob3N0OjgwODEvYXV0aC9yZWFsbXMvbWFzdGVyIiwiYXVkIjoiY2xvYWsiLCJzdWIiOiI2MjQwNzZjZS1jMGVmLTRhMjItYTg5OC02ZTAwMjU3MzhiMTYiLCJ0eXAiOiJJRCIsImF6cCI6ImNsb2FrIiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiY2IxMTQwNzctOTNhZi00Mzk1LTg2ZGUtODgwN2RlNzg5YTdmIiwiYWNyIjoiMSIsIm5hbWUiOiIiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJhZG1pbiJ9.R0SrLyYRYMU6F0pHxPTxC0FJRKeh-g1XwnXaf1lc5kGaldPaPGenHj6ZSSktf5m18_mzkRCZ6W52E3sNXIbnENlCVn_zJVk3N_4A7rgi-gYitx0YwhFbE-aHnlJWIrGy77EunA1hvRlNvesbFjaM-eR2qytPA6WQKeq6xpkuoEpVo5pdncCiSUdiTWE7Qm209FZ4lXIk9dmhqUWX5BknufCERQpIT_JosfFFChngXFqQ_yvP1QSSJlWAe8nhN3Uej53aXSqrVfDuk9KrrpkCgzfKEp4kE-T6VUlwzHDzLveEUnZQimBkAkZ-H3O__HbFPTmV29hApJR32DRVS-KURQ","not-before-policy":0,"session_state":"cb114077-93af-4395-86de-8807de789a7f"}" 
2016-10-24 17:00:41 DEBUG PoolingClientConnectionManager:262 - Connection [id: 0][route: {}->http://localhost:8081] can be kept alive indefinitely 
2016-10-24 17:00:41 DEBUG PoolingClientConnectionManager:269 - Connection released: [id: 0][route: {}->http://localhost:8081][total kept alive: 1; route allocated: 1 of 10; total allocated: 1 of 10] 
javax.ws.rs.client.ResponseProcessingException: javax.ws.rs.ProcessingException: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "access_token" (Class org.keycloak.representations.AccessTokenResponse), not marked as ignorable 
at [Source: [email protected]; line: 1, column: 18] (through reference chain: org.keycloak.representations.AccessTokenResponse["access_token"]) 
    at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.extractResult(ClientInvocation.java:141) 
    at org.jboss.resteasy.client.jaxrs.internal.proxy.extractors.BodyEntityExtractor.extractEntity(BodyEntityExtractor.java:60) 
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invoke(ClientInvoker.java:104) 
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:76) 
    at com.sun.proxy.$Proxy20.grantToken(Unknown Source) 
    at org.keycloak.admin.client.token.TokenManager.grantToken(TokenManager.java:89) 
    at org.keycloak.admin.client.token.TokenManager.getAccessToken(TokenManager.java:69) 
    at org.keycloak.admin.client.token.TokenManager.getAccessTokenString(TokenManager.java:64) 
    at org.keycloak.admin.client.resource.BearerAuthFilter.filter(BearerAuthFilter.java:52) 
    at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:413) 
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invoke(ClientInvoker.java:102) 
    at org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:76) 
    at com.sun.proxy.$Proxy28.count(Unknown Source) 
    at com.mkyong.rest.client.RESTEasyClientKeycloak.main(RESTEasyClientKeycloak.java:30) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 
Caused by: javax.ws.rs.ProcessingException: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "access_token" (Class org.keycloak.representations.AccessTokenResponse), not marked as ignorable 
at [Source: [email protected]; line: 1, column: 18] (through reference chain: org.keycloak.representations.AccessTokenResponse["access_token"]) 
    at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(ClientResponse.java:285) 
    at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readEntity(ClientResponse.java:181) 
    at org.jboss.resteasy.specimpl.BuiltResponse.readEntity(BuiltResponse.java:213) 
    at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.extractResult(ClientInvocation.java:105) 
    ... 18 more 
Caused by: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "access_token" (Class org.keycloak.representations.AccessTokenResponse), not marked as ignorable 
at [Source: [email protected]; line: 1, column: 18] (through reference chain: org.keycloak.representations.AccessTokenResponse["access_token"]) 
    at org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53) 
    at org.codehaus.jackson.map.deser.StdDeserializationContext.unknownFieldException(StdDeserializationContext.java:267) 
    at org.codehaus.jackson.map.deser.std.StdDeserializer.reportUnknownProperty(StdDeserializer.java:673) 
    at org.codehaus.jackson.map.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:659) 
    at org.codehaus.jackson.map.deser.BeanDeserializer.handleUnknownProperty(BeanDeserializer.java:1365) 
    at org.codehaus.jackson.map.deser.BeanDeserializer._handleUnknown(BeanDeserializer.java:725) 
    at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:703) 
    at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580) 
    at org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2704) 
    at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1315) 
    at org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:419) 
    at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.readFrom(AbstractReaderInterceptorContext.java:61) 
    at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:53) 
    at org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.aroundReadFrom(GZIPDecodingInterceptor.java:59) 
    at org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:55) 
    at org.jboss.resteasy.client.jaxrs.internal.ClientResponse.readFrom(ClientResponse.java:251) 
    ... 21 more 

Process finished with exit code 0 

我在尋找其他的解決方案,但也有一些錯誤存在的對「RestEasy的傑克遜 - 供應商」,但我不知道這是否是問題。在一些示例中,人們建議將「resteasy-jackson-provider」改變爲「resteasy-jackson2-provider」,並且發生相同的問題。

這裏是我的代碼:

public class RESTEasyClientKeycloak { 

    public static void main(String[] args) { 
     try { 

      Keycloak kc = KeycloakBuilder.builder() // 
        .serverUrl("http://localhost:8081/auth") // 
        .realm("master")// 
        .username("admin") // 
        .password("admin") // 
        .clientId("cloak") // 
        .resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build()) // 
        .build(); 

      CredentialRepresentation credential = new CredentialRepresentation(); 
      credential.setType(CredentialRepresentation.PASSWORD); 
      credential.setValue("test123"); 
      credential.setTemporary(false); 
      UserRepresentation user = new UserRepresentation(); 
      user.setUsername("testuser"); 
      user.setFirstName("Test"); 
      user.setLastName("User"); 
      user.setCredentials(asList(credential)); 
      user.setEnabled(true); 
      user.setRealmRoles(asList("admin")); 
      // Create testuser 
      Response result = kc.realm("master").users().create(user); 
      if (result.getStatus() != 201) { 
       System.err.println("Couldn't create user."); 
       System.exit(0); 
      } 
      System.out.println("Testuser created.... verify in keycloak!"); 
      System.out.println("Press any key..."); 
      System.in.read(); 
      // Delete testuser 
      String locationHeader = result.getHeaderString("Location"); 
      String userId = locationHeader.replaceAll(".*/(.*)$", "$1"); 
      kc.realm("master").users().get(userId).remove(); 
     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

} 

這裏是我的pom.xml

<dependencies> 
    <dependency> 
     <groupId>org.keycloak</groupId> 
     <artifactId>keycloak-admin-client</artifactId> 
     <version>2.2.1.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jaxrs</artifactId> 
     <version>3.0.19.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.keycloak</groupId> 
     <artifactId>keycloak-core</artifactId> 
     <version>1.9.2.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jackson-provider</artifactId> 
     <version>3.0.19.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-client</artifactId> 
     <version>3.0.19.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>jaxrs-api</artifactId> 
     <version>3.0.12.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jackson-provider</artifactId> 
     <version>3.0.19.Final</version> 
    </dependency> 
</dependencies> 

我想知道如何解決呢?謝謝!

回答

0

這是我的工作配置:

依賴關係: compile("org.jboss.resteasy:resteasy-client:3.0.19.Final") compile("org.jboss.resteasy:resteasy-jackson2-provider:3.0.19.Final") compile("org.jboss.resteasy:resteasy-jettison-provider:3.0.19.Final") compile("org.keycloak:keycloak-admin-client:2.3.0.CR1")

創建一個用戶:

public KeycloakCreateDto createUser(String username, String password) { 
    KeycloakCreateDto result = new KeycloakCreateDto(); 
    UserRepresentation user = new UserRepresentation(); 
    user.setUsername(username); 
    user.setEnabled(true); 
    Response response = null; 
    try { 
     // create user 
     response = keycloak.realm(keycloakConfig.getRealm()).users().create(user); 

     result.setResponseStatus(HttpStatus.valueOf(response.getStatus())); 
     if (response.getStatus() == HttpStatus.CREATED.value()) { 

      // Retrieve created user id 
      String path = response.getLocation().getPath(); 
      String id = path.substring(path.lastIndexOf('/') + 1); 
      result.setKeycloakId(id); 

      // Set password 
      CredentialRepresentation credentials = new CredentialRepresentation(); 
      credentials.setType(CredentialRepresentation.PASSWORD); 
      credentials.setValue(password); 
      credentials.setTemporary(false); 
      keycloak.realm(keycloakConfig.getRealm()).users().get(id).resetPassword(credentials); 
      // Add role 
      RoleRepresentation role = 
        keycloak.realm(keycloakConfig.getRealm()).roles().get("USER").toRepresentation(); 
      keycloak.realm(keycloakConfig.getRealm()).users().get(id).roles().realmLevel().add(singletonList(role)); 

     } 
    } finally { 
     // Remember to close the response 
     if (response != null) { 
      response.close(); 
     } 
     return result; 

    } 
} 

其中KeycloakCreateDto是一個簡單的POJO:

public class KeycloakCreateDto { 
    String keycloakId; 
    HttpStatus responseStatus; 
} 
+0

謝謝您的回答。不幸的是問題依然存在 在這個時候,我仍然得到:無法識別的字段「access_token」。 我相信我使用錯誤的方式訪問我的keycloak環境。 –

+0

@CelsoAgra你找到了解決方案嗎? – Atropo

+0

@Altropo,我正在使用不同的方法,使用KeycloakBuilder和resteasyClient。之後,我使用UserRepresentation並添加到UsersResource中。如果你願意,我可以將它張貼出來。 –