我尝试使用 Quay.io 映像从版本 20.0.0 升级到 Keycloak 22.0.0,但出现以下错误:
Exception in thread "main" java.lang.reflect.InvocationTargetException...Caused by: java.lang.NoSuchFieldError: FIPS
我的假设是 Keycloak 22.0.0 添加/删除/更改了一些 FIPS 设置,现在它正在崩溃。我的 Dockerfile 如下所示:
FROM quay.io/keycloak/keycloak:22.0.0
COPY ./event-listener-http-jar-with-dependencies.jar /opt/keycloak/providers/
RUN /opt/keycloak/bin/kc.sh build --db=mysql
ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start --proxy=edge --hostname-strict=false --db-username=${DB_USERNAME} --db-password=${DB_PASSWORD} --spi-events-listener-http-server-uri=https://authserver.com/api/endpoint"]
该自定义事件侦听器 jar 来自此存储库(https://github.com/darrensapalo/keycloak-event-listener-http/blob/master/pom.xml)并且已经有一段时间没有更新了,但即使将 pom.xml 更新到最新的 Keycloak 版本也没有帮助。我还能尝试什么?
有完全相同的问题。就我而言,我尝试通过修改 pom 文件来修复(添加提供的范围):
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-core</artifactId>
<scope>provided</scope>
<version>${version.keycloak}</version>
</dependency>
并且为 okhttp 添加了编译范围:
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<scope>compile</scope>
<version>4.3.1</version>
</dependency>