为了账号安全,请及时绑定邮箱和手机立即绑定

所有 KeyCloak 管理 API 调用上的 NullPointerException

所有 KeyCloak 管理 API 调用上的 NullPointerException

慕容森 2021-08-04 17:27:00
我正在尝试使用 Java 客户端调用 KeyCloak Admin API。无论我尝试哪种操作 - 创建领域,创建用户帐户等 - 我都会收到以下异常:javax.ws.rs.ProcessingException: java.lang.NullPointerException at org.keycloak.admin.client.resource.BearerAuthFilter.filter(BearerAuthFilter.java:53) at org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.filterRequest (ClientInvocation.java:573) 在 org.jboss.resteasy.client.jaxrs.internal.ClientInvocation.invoke(ClientInvocation.java:438) 在 org.jboss.resteasy.client.jaxrs.internal.proxy.ClientInvoker.invoke(ClientInvoker) .java:102) 在 org.jboss.resteasy.client.jaxrs.internal.proxy.ClientProxy.invoke(ClientProxy.java:76) 在 com.sun.proxy.$Proxy214.create(Unknown Source)我的 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 调用并且它工作正常。curl -vki -H "Authorization: Bearer XXXXX" http://localhost:8880/auth/admin/realms/master当我拨打这个电话时,我看到了预期的结果。我只在使用 Java 客户端时失败。知道这里发生了什么吗?
查看完整描述

3 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

简而言之(甚至可能太多了),有一个与 Resteasy 库相关的错误,其中JsonBindingProvider优先于ResteasyJackson2Provider,这使得 json 有效负载中的某些属性无法正确映射,并且它们的值会丢失。因此出现了 NullPointerException。


如果您使用 JBoss 或 WildFly,最简单的解决方案应该是resteasy-json-binding-provider从jboss-deployment-structure.xml文件中的部署中排除模块:


<jboss-deployment-structure>

    <deployment>

        <exclusions>

            <module name="org.jboss.resteasy.resteasy-json-binding-provider"/>

        </exclusions>

    </deployment>

</jboss-deployment-structure>


查看完整回答
反对 回复 2021-08-04
  • 3 回答
  • 0 关注
  • 284 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信