Java KeyClope AuthenticationFlowContext上下文-会话值

Java KeyClope AuthenticationFlowContext上下文-会话值,java,keycloak,Java,Keycloak,我已经创建了一个自定义浏览器登录提供程序,它扩展了UsernamePasswordForm以包括一个Captcha按钮,就像Keyclope注册设置中的选项一样,它松散地基于此选项,但经过了各种修改: 所有这些都可以很好地使用,但我想添加一个新功能,将用户已经完成验证码一次的事实保存到会话中,这样他们就不需要在下次访问浏览器之前再次提交验证码了(例如,如果他们的密码错误,但验证码正确,他们不必再次验证码,直到下次打开浏览器) 我已经在AuthenticationFlowContext上使用Ke

我已经创建了一个自定义浏览器登录提供程序,它扩展了
UsernamePasswordForm
以包括一个Captcha按钮,就像Keyclope注册设置中的选项一样,它松散地基于此选项,但经过了各种修改:

所有这些都可以很好地使用,但我想添加一个新功能,将用户已经完成验证码一次的事实保存到会话中,这样他们就不需要在下次访问浏览器之前再次提交验证码了(例如,如果他们的密码错误,但验证码正确,他们不必再次验证码,直到下次打开浏览器)

我已经在AuthenticationFlowContext上使用KeyDoveSession对象尝试了这一点,例如:

KeycloakSession session = context.getSession();
session.setAttribute("LOGIN_RECAPTCHA_PASSED", true);
但是,当使用
session.getAttribute(“LOGIN\u RECAPTCHA\u PASSED”)时,这个会话值似乎不会在以后的访问中保持不变(例如页面刷新或在第一次之后的另一次回发)
该值未被维护-这可能吗?我希望在会话中执行此操作,这样它就不会被篡改,并且可以保留到用户在以后的访问中回来

希望这是有道理的

谢谢