使用JMeter 5.6.3测试Keycloak 26.1.0时遇Restart login cookie not found错误
针对你遇到的Keycloak登录认证报错问题,可按以下步骤排查修复:
清理无关请求,确保会话Cookie一致性
移除步骤2中访问https://www.keycloak.org/app的请求,该请求属于外部示例应用,会生成与本地localhost:8080实例无关的Cookie,干扰Keycloak的会话验证。所有请求需统一指向你的本地Keycloak域名。检查HTTP Cookie Manager核心配置
- 将
Clear cookies each iteration?设置为False,Keycloak需要跨请求保持会话Cookie,迭代清空会导致登录会话中断。 - 确保Cookie Policy设置为
standard或compatibility,避免严格策略阻止Keycloak会话Cookie的存储与传递。不要手动添加自定义Cookie规则,以免覆盖或干扰默认Cookie流程。
- 将
完善认证请求参数与头信息
- 访问
/realms/myrealm/protocol/openid-connect/auth时,必须传入完整且正确的参数:- 必填参数示例:
client_id=你的客户端ID、redirect_uri=与Keycloak客户端配置一致的回调地址、response_type=code、scope=openid
- 必填参数示例:
- 添加HTTP Header Manager,配置以下关键头:
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36(模拟浏览器请求,避免被Keycloak拦截)Referer: 填写上一步/auth请求的完整URL(如http://localhost:8080/realms/myrealm/protocol/openid-connect/auth?client_id=xxx&...),Keycloak会验证Referer防止CSRF,缺失会导致Cookie验证失败。
- 访问
验证参数提取准确性
确保从/auth响应中正确提取session_code、execution、tab_id等参数:- 以
execution为例,使用正则表达式提取:name="execution" value="([^"]+)" - 用View Results Tree监听器检查提取结果,确认参数值无遗漏或错误。
- 以
检查Cookie传递情况
使用View Results Tree查看每个请求的Request Headers,确认KEYCLOAK_SESSION、KEYCLOAK_IDENTITY等Cookie在/login-actions/authenticate请求中被正确携带。若未携带,排查Cookie Manager配置是否正确。
内容的提问来源于stack exchange,提问作者Maynard
相关产品推荐
相关产品推荐

