我正在使用Keycloak服务器开发依赖项v.21
由于一些特定的身份验证逻辑要求,我在Keycloak中创建了一个用户身份验证过程,分为3个步骤:
为了实现上述过程,我创建了 3 个不同的 Authenticator 类,每个类都使用相应的自定义 .ftl 模板。我使用自定义“浏览器流程”连接这 3 个“身份验证步骤”,将 3 个身份验证器依次堆叠,并通过 Keycloak 身份验证管理选项进行配置。
到目前为止一切顺利。但有一个看似微不足道的元素我未能完成,即:能够“当我处于身份验证过程的第二步或第三步时返回 1 步”或通过“返回到第一步”重新启动该过程。我想模板级别有一个环境变量,我可以将其用作实现“后退”的链接,但我一直无法找到它(如果它存在的话)。我确实尝试使用 href="${url.loginUrl},但它总是指向“当前步骤”,而不是“向后指向”(我还看到,无论我在哪一步,loginUrl 总是相同的)我进来了,所以这个变量没有帮助......)
您能否分享一些有关如何“通过链接返回”之前的身份验证器 ftl(可能通过使用可用的 ftl 变量)的反馈?或任何反馈(例如向我指出相关文档或相关问题/帖子)?
PS:请注意,我问的是如何在身份验证流程中返回 1 步(或第一步),而不是如何返回应用程序(取消身份验证流程),我已经通过使用:
<#if client?? && client.baseUrl?has_content>
<p><a id="backToApplication" href="${client.baseUrl}">${kcSanitize(msg("backToApplication"))?no_esc}</a></p>
</#if>
提前致谢。
使用 JavaScript 模拟后退按钮可以达到您的目的吗?
<button onclick="history.back()">Go Back</button>