【问题标题】:Keycloak: Disable redirect to account page after password reset and show messageKeycloak:密码重置后禁用重定向到帐户页面并显示消息
【发布时间】:2020-12-07 18:40:52
【问题描述】:

我正在使用 Keycloak,我想启用忘记密码流程。我已启用忘记密码登录并配置 SMTP 以发送电子邮件。 我从 keycloak 开箱即用的内容如下

-> 点击忘记密码链接 -> 输入用户名或电子邮件 -> 用户收到一封带有重置链接的电子邮件 -> 点击链接 -> 重置密码,然后提交 -> 用户已登录,然后用户被重定向到帐户页面。

我想要实现的是以下

-> 点击忘记密码链接 -> 输入用户名或电子邮件 -> 用户收到一封带有重置链接的电子邮件 -> 点击链接 -> 重置密码,然后提交 -> 显示一条消息“您的密码已经更新。”并且不要登录用户。留在那个页面上。

原因是,对于我的用例,用户不应该访问 Keycloak 上的帐户页面。

在重置凭据的身份验证流程中,我最多只能配置重置凭据。

有什么方法可以禁用密码重置后自动登录用户,然后重定向到帐户页面的操作?

我已经研究了几个问题,但我找不到如何实现这一点的答案。

PS:我正在使用带有自定义主题的 Keycloak docker 映像。如果这可以使用自定义主题选项进行配置,我有机会这样做。

提前谢谢你。

【问题讨论】:

  • 你找到解决办法了吗?

标签: authentication redirect keycloak forgot-password reset-password


【解决方案1】:

我们在使用 keycloak 时遇到了类似的问题,并通过实现自定义动作令牌和动作令牌处理程序 (docs) 解决了这个问题。另请查看原始 keycloak 重置凭据操作令牌来源:

ActionToken

ActionTokenHandler

尝试使用AbstractActionTokenHander.startFreshAuthenticationSession() 来定义重置流程期间的 Keycloak 行为的几个属性,例如:

authSession.setRedirectUri(token.getNote(OIDCLoginProtocol.REDIRECT_URI_PARAM));
authSession.setAuthNote(AuthenticationManager.END_AFTER_REQUIRED_ACTIONS, "true");
authSession.setAuthNote(AuthenticationManager.SET_REDIRECT_URI_AFTER_REQUIRED_ACTIONS, "true");
authSession.setAuthNote(AuthenticationManager.END_AFTER_REQUIRED_ACTIONS, "true");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多