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”)时,这个会话值似乎不会在以后的访问中保持不变(例如页面刷新或在第一次之后的另一次回发)
该值未被维护-这可能吗?我希望在会话中执行此操作,这样它就不会被篡改,并且可以保留到用户在以后的访问中回来
希望这是有道理的
谢谢