KeyCloak忘记密码电子邮件链接

时间:2018-03-08 20:27:13

标签: url hyperlink keycloak reset-password

我们正在使用keycloak实现身份验证。特别是对于忘记密码选项:当用户点击忘记密码选项,并提供用户名时,将通过重置密码的链接向他们的ID发送一封电子邮件。

我的问题专门针对以下链接: 电子邮件中发送的链接如下所示: HTTPS://:?/ AUTH /领域//与登录的动作/复位凭证代码= 但是提到的实际上是一个可以在/ etc / hosts中找到的内部物理主机名,但是外部用户无法访问它,所以我们需要替换这个主机:端口号。

.ftl文件中的代码如下所示:themes / base / email / html / password-reset.ftl: $ {msg(“passwordResetBodyHtml”,link,linkExpiration,realmName)} 虽然从管理控制台上找到了linkExpiration和realmName的值(它们在管理控制台中的Realm设置下),但我无法找到“链接”的配置方式和位置。有人可以帮忙吗?

我查了解其他主题并做了一些调查结果,并找到了这个链接:(Keycloak - URL Reset Password email behind a proxy,但它确实谈到了我们尚未配置的NginX代理。

1 个答案:

答案 0 :(得分:0)

在与Redhat团队多次讨论后,解决了这个问题。以下是遵循的步骤

  1. 我们正在使用RH SSO 7.0.x:如下添加了proxy-address-forwarding = true。

服务器无法启动,因为此标记在Keycloak 7.0.x中不可用。经Redhat确认。

  1. 没有升级到RH SSO 7.2.0,并且添加了相同的标志。忘记密码的电子邮件内容具有https:/// auth / realms / archcap-au / login-actions / action-token?key =

更改前:

    header=x-forwarded-host= <External Host>
    header=Host= <Internal host:8443>

更改后:

    header=x-forwarded-host= <External Host>
    header=Host= <External Host>

该标记将保留转发的主机头。