我们正在使用keycloak实现身份验证。专门为忘记密码选项:当用户点击忘记密码选项,并提供用户名,电子邮件将发送到他们的id与链接重置密码。
我的问题是关于链接的:通过电子邮件发送的链接看起来如下所示:https://:/auth/realms//login-actions/reset-credentials?code=但是上面提到的实际上是一个内部物理主机名,可以在/etc/ host中找到,但是外部用户无法访问它,所以我们需要替换这个主机:端口号。
.ftl文件中的代码如下所示:主题/base/email/html/password-reset.ftl:${msg("passwordResetBodyHtml“、link、linkExpiration、realmName)}。当从管理控制台上计算出linkExpiration和realmName的值(它们在管理控制台的领域设置下)时,我无法了解”链接“是如何配置的,以及在何处配置的。有人能帮忙吗?
我查找了其他线程并做了一些发现,并找到了以下链接:(Keycloak - URL Reset Password email behind a proxy,但它确实谈到了NginX代理,我们还没有配置它。
发布于 2018-09-06 19:05:37
经过与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>标记将保留转发的主机头。
https://stackoverflow.com/questions/49181881
复制相似问题