如何为Keycloak 19.0.3-legacy Docker镜像启用redirect_uri旧版功能?
Keycloak 19.0.3-legacy OIDC登出SPI参数配置无效问题
我需要为Keycloak 19.0.3-legacy设置以下两个标志,启用默认的redirect_uri行为,但尝试了所有方法均未生效。我们使用standalone-ha.xml配置文件,不确定这是否是正确的配置位置。
需要设置的参数:
spi-login-protocol-openid-connect-suppress-logout-confirmation-screen=true spi-login-protocol-openid-connect-legacy-logout-redirect-uri=true
已尝试的无效配置方式
1. 设置环境变量(多种前缀格式均无效)
KC_SPI_LOGIN_PROTOCOL_OPENID_CONNECT_LEGACY_LOGOUT_REDIRECT_URI=true KC_SPI_LOGIN_PROTOCOL_OPENID_CONNECT_SUPPRESS_LOGOUT_CONFIRMATION_SCREEN=true KEYCLOAK_SPI_LOGIN_PROTOCOL_OPENID_CONNECT_LEGACY_LOGOUT_REDIRECT_URI=true KEYCLOAK_SPI_LOGIN_PROTOCOL_OPENID_CONNECT_SUPPRESS_LOGOUT_CONFIRMATION_SCREEN=true SPI_LOGIN_PROTOCOL_OPENID_CONNECT_LEGACY_LOGOUT_REDIRECT_URI=true SPI_LOGIN_PROTOCOL_OPENID_CONNECT_SUPPRESS_LOGOUT_CONFIRMATION_SCREEN=true LEGACY_LOGOUT_REDIRECT_URI=true SUPPRESS_LOGOUT_CONFIRMATION_SCREEN=true
2. Dockerfile复制keycloak.conf到指定目录(两种配置格式均未被识别)
Dockerfile内容:
COPY conf.d/keycloak.conf /opt/jboss/keycloak/conf/keycloak.conf COPY conf.d/keycloak.conf /opt/keycloak/conf/keycloak.conf
keycloak.conf内容:
spi-login-protocol-openid-connect-suppress-logout-confirmation-screen=true spi-login-protocol-openid-connect-legacy-logout-redirect-uri=true suppress-logout-confirmation-screen=true legacy-logout-redirect-uri=true
3. 修改docker-entrypoint.sh参数
exec /opt/jboss/tools/docker-entrypoint.sh $@ -Dspi-login-protocol-openid-connect-suppress-logout-confirmation-screen=true -Dspi-login-protocol-openid-connect-legacy-logout-redirect-uri=true
(此方式无法启动,提示参数无效)
exec /opt/jboss/tools/docker-entrypoint.sh $@ --spi-login-protocol-openid-connect-suppress-logout-confirmation-screen=true --spi-login-protocol-openid-connect-legacy-logout-redirect-uri=true
4. 修改standalone-ha.xml配置文件(配置未生效)
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.1"> <web-context>auth</web-context> <providers> <provider> classpath:${jboss.home.dir}/providers/* </provider> <provider> module:org.keycloak.storage.ldap.LDAPSyncOnly </provider> </providers> <master-realm-name>master</master-realm-name> <scheduled-task-interval>900</scheduled-task-interval> <theme> <staticMaxAge>2592000</staticMaxAge> <cacheThemes>false</cacheThemes> <cacheTemplates>false</cacheTemplates> <welcomeTheme>${env.KEYCLOAK_WELCOME_THEME:keycloak}</welcomeTheme> <default>${env.KEYCLOAK_DEFAULT_THEME:keycloak}</default> <dir>${jboss.home.dir}/themes</dir> </theme> ... 其他spi标签 ... <spi name="login-protocol"> <provider name="openid-connect" enabled="true"> <properties> <property name="suppress-logout-confirmation-screen" value="true"/> <property name="legacy-logout-redirect-uri" value="true"/> </properties> </provider> </spi> </subsystem>
相关参考信息
- OIDCLoginProtocolFactory源码显示,配置正确时日志会输出特定警告信息
- Keycloak官方文档中包含配置参数的示例说明
- 参考了Keycloak 19.0.3版本的容器代码仓库
- 查看了Keycloak官方镜像仓库的标签信息
内容的提问来源于stack exchange,提问作者ScrappyDev
相关产品推荐
相关产品推荐

