Keycloak 自定义表单提供程序:表单的操作 url 错误
Posted
技术标签:
【中文标题】Keycloak 自定义表单提供程序:表单的操作 url 错误【英文标题】:Keycloak Custom Form Provider: Form has wrong action url 【发布时间】:2020-03-17 10:18:40 【问题描述】:我在 RestCredentialFlow 中添加了一个自定义表单, 我可以配置新的流程执行并看到新的表单。看起来都不错。
唯一的问题是表单操作url指向registration而不是reset-credentials,
<form id="kc-reset-password-form" class="sb-form-box" action="http://localhost:8080/auth/realms/soka/login-actions/registration?session_code=**&execution=478d7632-2821-42f1-9c34-aa013fea33eb&client_id=account&" method="post">
...
</form>
我可以在浏览器中更改它,一切正常。
任何人都可以帮忙,为什么它指向注册以及如何更改它。 我没有看到与注册流程的任何交互。
谢谢
这里呈现了表单,这已经返回了带有错误 actionUrl 的表单。
public class ResetCredentialPage implements FormAuthenticator, FormAuthenticatorFactory
private static final Logger log = Logger.getLogger(ResetCredentialPage.class);
public static final String PROVIDER_ID = "reset-credential-page-form";
@Override
public Response render(FormContext context, LoginFormsProvider form)
return form.createPasswordReset();
...
【问题讨论】:
【参考方案1】:不确定您是否找到了答案,我的情况完全相同。根据我对文档的阅读,我强烈怀疑 FormAction/FormAuthenticator 类仅用于注册页面。所以动作 uri 并不意味着注册 uri 以外的任何东西——基本上我怀疑它或多或少是硬编码的。
如果我错了,请告诉我。
【讨论】:
以上是关于Keycloak 自定义表单提供程序:表单的操作 url 错误的主要内容,如果未能解决你的问题,请参考以下文章
Spring Security 和 Keycloak 因自定义身份验证提供程序而失败