Keycloak登出后重启登录提示‘重启登录Cookie未找到’问题咨询
登出流程未彻底清理KEYCLOAK_IDENTITY Cookie:Keycloak登出时本应清除会话相关的Cookie,但如果Cookie的
Path或Domain配置与登录时不一致,会导致KEYCLOAK_IDENTITY无法被正确删除。重启登录时旧Cookie被携带到请求中,Keycloak发现它和新的认证会话不匹配,就会抛出“重启登录Cookie未找到”的错误。第二次重新登录时,浏览器可能已自动清理该Cookie,或是新流程生成了匹配的Cookie,因此恢复正常。KEYCLOAK_IDENTITY Cookie的生命周期配置不合理:如果该Cookie被设置为持久化Cookie(而非会话级Cookie),或是过期时间过长,登出后不会随会话结束自动销毁。再次发起登录时,旧Cookie仍存在并被发送,干扰了新的认证流程,Keycloak判定为无效的重启请求。
登录跳转逻辑触发了错误的认证分支:登出后重启登录的首次请求,可能误触发了Keycloak的重认证(re-authentication)逻辑,但此时残留的KEYCLOAK_IDENTITY Cookie与新会话不兼容,导致校验失败。而第二次重新登录是从头发起的完整登录流程,不会进入重认证校验分支,因此绕过了错误。
浏览器Cookie缓存策略影响:部分浏览器的Cookie缓存机制可能延迟刷新状态,登出后仍保留旧的KEYCLOAK_IDENTITY Cookie,导致首次请求携带无效Cookie。第二次请求时浏览器完成了Cookie状态刷新,不再携带该Cookie,流程恢复正常。
内容的提问来源于stack exchange,提问作者bbilly

