Keycloak Keyclope FTL:我们如何访问自定义主题登录模板中的错误消息

Keycloak Keyclope FTL:我们如何访问自定义主题登录模板中的错误消息,keycloak,freemarker,keycloak-services,error-messaging,custom-theme,Keycloak,Freemarker,Keycloak Services,Error Messaging,Custom Theme,因此,我使用keydape作为身份验证机制,并通过修改login.ftl文件来定制登录页面。到现在为止,一直都还不错。我正在我的login.ftl中导入template.ftl文件-按照Key斗篷文档的指示-到目前为止一切正常。在这个template.ftl文件中,有一种方法可以访问错误消息,如下所示 <#if displayMessage && message?has_content && (message.type != 'warni

因此,我使用keydape作为身份验证机制,并通过修改login.ftl文件来定制登录页面。到现在为止,一直都还不错。我正在我的login.ftl中导入template.ftl文件-按照Key斗篷文档的指示-到目前为止一切正常。在这个template.ftl文件中,有一种方法可以访问错误消息,如下所示

          <#if displayMessage && message?has_content && (message.type != 'warning' || !isAppInitiatedAction??)>
          <div class="alert alert-${message.type}">
              <#if message.type = 'success'><span class="${properties.kcFeedbackSuccessIcon!}"></span></#if>
              <#if message.type = 'warning'><span class="${properties.kcFeedbackWarningIcon!}"></span></#if>
              <#if message.type = 'error'><span class="${properties.kcFeedbackErrorIcon!}"></span></#if>
              <#if message.type = 'info'><span class="${properties.kcFeedbackInfoIcon!}"></span></#if>
              <span class="kc-feedback-text">${kcSanitize(message.summary)?no_esc}</span>
          </div>
      </#if>

好的,太好了!如果我不想处理template.ftl文件中的错误消息ui,该怎么办?我在login.ftl页面上有一个表单UI,我想在其中显示错误消息。如何将该消息传递到login.ftl文件或从login.ftl文件访问该错误消息?提前感谢您的指导。

您可以在login.ftl中访问它,就像在template.ftl中一样

<#if message?has_content>
    message.summary
    ...
</#if>

我认为您在使用模板变量DisplayMessage时遇到了问题,在login.ftl中未设置IsAppificatedAction。您可以像在templay.ftl中一样在login.ftl中访问它

<#if message?has_content>
    message.summary
    ...
</#if>

我认为您的模板变量DisplayMessage有问题,在login.ftl中未设置isAppInitiatedAction。如果您在登录页面中添加新字段,并且需要验证该字段并在字段无效时显示错误消息,则需要编写提供程序。自定义提供程序必须实现FormAction和FormActionFactory。有一个名为validate的方法,在这个方法中,您可以编写逻辑来验证字段,还可以为错误消息定义一个键和值。此密钥可在login.ftl文件中使用。
如果要在登录页面中添加新字段,并且需要验证该字段并在字段无效时显示错误消息,则此线程可能会有所帮助。自定义提供程序必须实现FormAction和FormActionFactory。有一个名为validate的方法,在这个方法中,您可以编写逻辑来验证字段,还可以为错误消息定义一个键和值。此密钥可在login.ftl文件中使用。 这条线对我很有帮助