【发布时间】:2022-06-15 18:14:29
【问题描述】:
大约一个月前,我实现了 camunda-bpm-identity-keycloak as described here 以使我的 spring-camunda 项目与 keycloak 一起工作。本周我尝试对 keycloak 和 spring-camunda 进行 dockerizing。虽然前者的实施没有太多障碍,但后者我已经坚持了好几天了。
主要问题是关于 api 调用似乎没有到达 keycloak,无论 keycloak 是否被 dockerized。我可以为 SSO 部分解决这个问题。但是,这个问题仍然存在于“plugin.identity.keycloak”部分。
这是docker中的错误代码。
2022-03-10 13:39:45.704 ERROR 1 --- [ main] org.camunda.bpm.extension.keycloak : KEYCLOAK-01011 TOKEN request failed: I/O error on POST request for "https://localhost:8443/auth/realms/MyRealm/protocol/openid-connect/token"
以下是它在 .yaml 文件中的属性:
plugin.identity.keycloak:
keycloakIssuerUrl: https://localhost:8443/auth/realms/MyRealm
keycloakAdminUrl: https://localhost:8443/auth/admin/realms/MyRealm
clientId: myrealm-client
clientSecret: insertsecret
useUsernameAsCamundaUserId: true
useGroupPathAsCamundaGroupId: true
administratorGroupName: camunda-admin
disable-s-s-l-certificate-validation: true
这里是 Dockerfile:
FROM adoptopenjdk/openjdk11:alpine-jre
EXPOSE 8080
ARG JAR_FILE=target/testdockerforspringcamunda-1.0.0-SNAPSHOT.jar
ADD ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
编辑:
我没有 docker compose 可以分享。我刚刚使用了那个 Dockerfile。奇怪的是,它在令牌的 POST 请求期间而不是在配置的 Get 请求期间出错。当我在 keycloak 离线时启动 dockerized 项目时,会发生后者。
这里是非 dockerized keycloak 独立服务器配置的 keycloak 端口:
<socket-binding name="http" port="${jboss.http.port:8180}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
编辑2:
使用容器名而不是本地主机后,我得到一个稍微不同的错误:
2022-03-14 10:28:13.651 ERROR 1 --- [ main] org.camunda.bpm.extension.keycloak : KEYCLOAK-01011 TOKEN request failed: I/O error on POST request for "https://keycloak3:8181/auth/realms/MyRealm/protocol/openid-connect/token": keycloak: System error; nested exception is java.net.UnknownHostException: keycloak: System error
编辑3:
我以某种方式解决了这个新错误。我假设重新启动 keycloak 容器可以做到这一点。
【问题讨论】:
-
尝试从 docker ping 到 keycloak 服务器。
-
@AbrarAnsari 有关如何执行此操作的任何链接?我只是 Docker 的初学者。
-
你有 docker compose 或 helm 要分享吗?网络配置怎么样?是暴露正确端口的 keycloak 容器,例如localhost:8443?
-
@AbrarAnsari 谢谢。我对其进行了测试,我的容器在 ping keycloak 服务器时没有问题。我的编辑描述了具体问题。
标签: spring docker keycloak camunda camunda-plugin