You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 22:25:12