我们正在使用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代理。
答案 0 :(得分:0)
在与Redhat团队多次讨论后,解决了这个问题。以下是遵循的步骤
服务器无法启动,因为此标记在Keycloak 7.0.x中不可用。经Redhat确认。
更改前:
header=x-forwarded-host= <External Host>
header=Host= <Internal host:8443>
更改后:
header=x-forwarded-host= <External Host>
header=Host= <External Host>
该标记将保留转发的主机头。