すべてKeyCloak管理APIの呼び出しでNullPointerExceptionが発生

影の男 :

私は、Javaクライアントを使用してKeyCloak管理APIへの呼び出しを行うにしようとしています。かかわらず、私がしようとした操作の - レルムを作成し、ユーザーアカウントを作成、などを - 私は、次の例外を取得します:

javax.ws.rs.ProcessingException:org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.filterRequestでorg.keycloak.admin.client.resource.BearerAuthFilter.filterでjava.lang.NullPointerExceptionが(BearerAuthFilter.java:53) org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invokeでorg.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:438)で(ClientInvocation.java:573)(ClientInvoker .javaファイル:102)org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:76)でcom.sun.proxyで$ Proxy214.create(不明なソース)。

このような私のKeyCloakコードルックス...

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

RealmRepresentation realm = new RealmRepresentation();
        realm.setDisplayName(displayName);
        realm.setDisplayNameHtml(displayName);
        realm.setRealm(realmName);
        realm.setEnabled(enabled);

kc.realms().create(realm);

それは私が例外を参照してください。この点にあります。ここで間違って行くことができるもの上の任意のアイデア?私は、管理APIに対するすべての操作上の例外を参照してください。私は、管理APIに対するカール電話をかけることができていますので、データが利用可能であることを知っていて、それが正常に動作します。

curl -vki -H "Authorization: Bearer XXXXX" http://localhost:8880/auth/admin/realms/master

私はこの呼び出しを行うと、私は期待される結果を参照してください。Javaクライアントを使用したとき、私は障害のみを取得します。ここで何が起こっているすべてのアイデア?

更新

私は私のKeyCloakインスタンス上でデバッグログを増加しました。私は、セキュリティレルムを作成しようとした後、以下のメッセージを参照してください。(注:私は関係なく、私が行って何の動作の同様のエラーを参照してください)

14:36:16,553 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-24) new JtaTransactionWrapper
14:36:16,553 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-24) was existing? false
14:36:16,557 DEBUG [org.keycloak.authentication.AuthenticationProcessor] (default task-24) AUTHENTICATE CLIENT
14:36:16,557 DEBUG [org.keycloak.authentication.ClientAuthenticationFlow] (default task-24) client authenticator: client-secret
14:36:16,557 DEBUG [org.keycloak.authentication.ClientAuthenticationFlow] (default task-24) client authenticator SUCCESS: client-secret
14:36:16,557 DEBUG [org.keycloak.authentication.ClientAuthenticationFlow] (default task-24) Client admin-cli authenticated by client-secret
14:36:16,558 DEBUG [org.keycloak.authentication.AuthenticationProcessor] (default task-24) AUTHENTICATE ONLY
14:36:16,559 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) processFlow
14:36:16,559 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) check execution: direct-grant-validate-username requirement: REQUIRED
14:36:16,559 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) authenticator: direct-grant-validate-username
14:36:16,560 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) invoke authenticator.authenticate: direct-grant-validate-username
14:36:16,560 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) authenticator SUCCESS: direct-grant-validate-username
14:36:16,561 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) check execution: direct-grant-validate-password requirement: REQUIRED
14:36:16,561 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) authenticator: direct-grant-validate-password
14:36:16,561 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) invoke authenticator.authenticate: direct-grant-validate-password
14:36:16,658 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) authenticator SUCCESS: direct-grant-validate-password
14:36:16,658 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) check execution: direct-grant-validate-otp requirement: OPTIONAL
14:36:16,659 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) authenticator: direct-grant-validate-otp
14:36:16,659 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) invoke authenticator.authenticate: direct-grant-validate-otp
14:36:16,659 DEBUG [org.keycloak.authentication.DefaultAuthenticationFlow] (default task-24) authenticator ATTEMPTED: direct-grant-validate-otp
14:36:16,661 DEBUG [org.keycloak.services.managers.AuthenticationSessionManager] (default task-24) Removing authSession 'df66e278-8ffe-47ab-84d1-36ffe9152021'. Expire restart cookie: true
14:36:16,673 DEBUG [org.keycloak.events] (default task-24) type=LOGIN, realmId=master, clientId=admin-cli, userId=c830af10-3cfd-4ce0-b1aa-83a857a290d7, ipAddress=172.18.0.1, auth_method=openid-connect, token_id=8876c7ad-3ea4-4356-8fc2-f9b50112b952, grant_type=password, refresh_token_type=Refresh, scope='profile email', refresh_token_id=4c2325fc-0bb5-40d9-af55-4985546fd39a, client_auth_method=client-secret, username=kcadmin
14:36:16,673 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-24) JtaTransactionWrapper  commit
14:36:16,676 DEBUG [org.keycloak.transaction.JtaTransactionWrapper] (default task-24) JtaTransactionWrapper end

UPDATE 2

この問題は、Java EEコンテナ内でこのコードを実行に関連しているかのように見えます。私は、スタンドアロンのクラスに正確に同じコードを実行した場合、それは無問題で動作します。私はコピーして、サーブレットにコードを貼り付けて、それを実行しようとする場合は、私が受け取りますNullPointerException私は、問題が発生したとき、私はWildfly 13上のコードを実行しています。Arquillianを経由して統合テストを実行しているとき、私はまた、この問題を参照してください。私の仮定は、それが依存関係とは何かを持っている必要がありますということですが、私は変更する必要があるものにと途方に暮れてよ。

影の男 :

解決しよう!! どうやら私のWildfly 13.0インスタンスは、Java EE 8サポートを有効に設定しました。これは予想通りフラグは仕事にすべてのテストケースを有効にすることを取り除くために、問題の根本的な原因のようです。これが問題だったが、それは間違いなく、根本的な問題だった理由はわかりません。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=184530&siteId=1