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

Keycloak Quarkus开发实例认证配置损坏,如何恢复登录?

解决Keycloak(Quarkus版)First Broker Login Flow配置错误导致的登录失败问题

问题场景

本地运行基于H2数据库的Quarkus版Keycloak开发实例,修改First Broker Login Flow并禁用Review Profile后,无法登录,控制台输出以下错误:

WARN  [org.keycloak.authentication.DefaultAuthenticationFlow] (executor-thread-12) REQUIRED and ALTERNATIVE elements at same level! Those alternative executions will be ignored: [auth-cookie, null]
2022-09-25 10:50:38,131 WARN  [org.keycloak.services] (executor-thread-12) KC-SERVICES0013: Failed authentication: org.keycloak.authentication.AuthenticationFlowException

修复方案

不需要删除实例重新搭建,可通过以下两种方式恢复配置:

方式1:直接修改H2数据库

  1. 停止Keycloak服务
  2. 连接本地H2数据库:
    • 默认连接地址为 jdbc:h2:./data/keycloak(具体路径以你的Keycloak数据存储目录为准)
    • 用户名密码参考启动配置,默认通常为sa/空密码
  3. 执行SQL调整认证流配置:
    • 先获取First Broker Login Flow的ID:
      SELECT ID FROM AUTHENTICATION_FLOW WHERE ALIAS = 'first broker login';
      
    • 用上一步得到的FLOW_ID,恢复Review Profile的启用状态并修正层级冲突:
      UPDATE AUTHENTICATION_EXECUTION 
      SET REQUIRED = TRUE, ALTERNATIVE = FALSE 
      WHERE FLOW_ID = '<上面获取的FLOW_ID>' AND ALIAS = 'review profile';
      
    • 额外检查同层级执行节点,确保同一FLOW_ID下不会同时存在REQUIRED=TRUE和ALTERNATIVE=TRUE的节点,如有冲突调整对应字段值

方式2:通过备份配置文件恢复

  • 若之前导出过Realm的JSON配置文件,停止Keycloak后,将备份文件放到Quarkus版Keycloak的data/import目录(或启动时指定的导入路径)
  • 重新启动Keycloak,让系统重新导入正确的Realm配置

内容的提问来源于stack exchange,提问作者Deniss M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:35:23