当前情况: 我们的Wildfly应用服务器中包含openid Keycloak适配器,该服务器以集群形式运行。工作完美。但是由于我们的客户,我们不得不切换到SAML实施。
因此,我已将适配器从OpenId更改为SAML,并相应地修改了 standalone.xml 。
问题: 在部署我们的Keycloak安全应用程序时,我从Keycloak获取了以下Stacktrace:
Caused by: java.lang.NullPointerException
at org.keycloak.subsystem.adapter.saml.extension.KeycloakClusteredSsoDeploymentProcessor.addSamlReplicationconfiguration(KeycloakClusteredSsoDeploymentProcessor.java:119)
at org.keycloak.subsystem.adapter.saml.extension.KeycloakClusteredSsoDeploymentProcessor.deploy
实际的内部键控代码为:
String cacheContainer = "web";
String deploymentSessionCacheName = (deploymentUnit.getParent() == null ? "" : deploymentUnit.getParent().getName() + ".") + deploymentUnit.getName();
if (webMetaData.getReplicationconfig() != null && webMetaData.getReplicationconfig().getcacheName() != null) {
ServiceName sn = ServiceName.parse(webMetaData.getReplicationconfig().getcacheName());
cacheContainer = sn.getParent().getSimpleName();
deploymentSessionCacheName = sn.getSimpleName();
}
因此,它正在搜索名称为 web 的缓存(此刻已调试),该缓存包含在 standalone.xml 中。然后,由于父级为null,因此在访问“父级简单名称”时会崩溃。
我已经将我们的 standalone.xml 与一个新的 standalone-ha.xml 进行了比较,并复制了所有相关的配置,但是仍然抛出了空指针。
这是我的问题:
我做错什么了吗,或者这是Keycloak中的错误? 这是xml文件:standalone.xml