如何解决keycloak 动态客户端注册 registration_client_uri docker 主机名覆盖
我已经使用动态客户端注册在 Keycloak 中成功创建了一个客户端
响应正文包含:
"registration_client_uri":"https://127.0.0.1:8443/auth/realms...",
这是因为 Keycloak 是用 Docker 安装的,并且是 NginX 的前端。我想用实际的公共主机名替换 IP 地址/端口。
相关的文档/配置在哪里?
我按如下方式启动了keycloak:
docker run -itd --name keycloak \
--restart unless-stopped \
--env-file keycloak.env \
-p 127.0.0.1:8443:8443 \
--network keycloak \
jboss/keycloak:11.0.0 \
-Dkeycloak.profile=preview
在 keycloak.env 中,我设置了 KEYCLOAK_HOSTNAME=example.com
解决方法
配置环境变量PROXY_ADDRESS_FORWARDING=true
,因为Keycloak在Nginx反向代理后面运行 - https://hub.docker.com/r/jboss/keycloak/
启用代理地址转发
在代理后面运行 Keycloak 时,您需要启用代理地址转发。
docker run -e PROXY_ADDRESS_FORWARDING=true jboss/keycloak