Keycloak 19.0.2中kcadm.sh遇HTTPS required及禁用HTTPS失败问题
解决Keycloak 19.0.2中HTTPS Required相关问题
问题1:登录成功后提示HTTPS required时使用kcadm.sh的方法
要在HTTPS强制提示下正常使用kcadm.sh,核心是先让Keycloak允许HTTP访问,再用适配新版本的命令配置凭证并修改SSL要求:
- 开发模式下启动Keycloak默认允许HTTP,生产模式需显式开启HTTP支持
- 注意Keycloak 17+已移除旧版本的
/auth路径,命令需对应调整
问题2:执行kcadm.sh命令出现“HTTPS Required”错误的解决办法
你遇到的错误是因为Keycloak 19.0.2采用Quarkus发行版,旧命令的路径和参数已失效,按以下步骤修正:
步骤1:确保容器允许HTTP访问
重启容器并添加启动参数(以开发模式为例):
docker run -d -p 8080:8080 \ -e KEYCLOAK_ADMIN=admin \ -e KEYCLOAK_ADMIN_PASSWORD=admin \ --name keycloak-19 \ quay.io/keycloak/keycloak:19.0.2 start-dev --http-enabled=true
生产模式需额外添加--https-enabled=false --ssl-required=NONE。
步骤2:进入容器执行正确的kcadm.sh命令
docker exec -it keycloak-19 bash cd /opt/keycloak/bin # 配置凭证:服务器地址不再包含/auth路径 ./kcadm.sh config credentials --server http://localhost:8080 --realm master --user admin --password admin # 修改master realm的SSL要求为NONE ./kcadm.sh update realms/master -s sslRequired=NONE
关键注意事项
- Keycloak 17+已移除
/auth上下文路径,--server参数必须使用http://localhost:8080而非旧版本的http://localhost:8080/auth - 若不想进入容器修改,可在启动时直接通过环境变量设置:
-e KC_SSL_REQUIRED=NONE
内容的提问来源于stack exchange,提问作者Illyrian
相关产品推荐
相关产品推荐

