Keycloak 在新用户注册时不发送电子邮件

问题描述 投票:0回答:1

我使用的是 Mac,我正在尝试让 Keycloak 24.0.2(作为 Docker 容器运行)在用户注册过程中发送电子邮件。我在本地运行 Mailhog,并且已配置 Keycloak 向其发送电子邮件,并已成功测试该连接:

所以我知道Keycloak可以向Mailhog发送电子邮件。

在 Keycloak 领域设置 >> 登录选项卡中,我启用用户注册:

当我打开应用程序并转到经过身份验证的页面时,它会正确地将我重定向到 Keycloak 登录屏幕,我现在可以在底部看到 Register 链接:

到目前为止,一切都很好。我点击“注册”并继续填写注册表:

我单击“注册”,我被正确重定向回我的应用程序。

在Keycloak中,我看到新用户注册事件:

当我单击注册事件时,我看到已创建的新用户:

但是,当我在 Mailhog 中刷新屏幕时,我发现没有发送任何电子邮件。此外,如果我查看 Keycloak 日志(vid

docker logs
),我看不到日志输出、错误等。

我需要做些什么来配置 Keycloak 以在新用户注册时发送电子邮件吗? 我是否忘记了任何步骤?如果没有,任何人都可以发现我哪里出了问题,或者提供故障排除的想法吗?

keycloak mailhog
1个回答
0
投票

在联系 Slack 上的 Keycloak 团队后,我得到了这个工作,他们提供了优秀的支持!

我忘记启用Realm Settings >> Email Settings下的

验证电子邮件

这样就可以在用户自行注册时发送电子邮件了。

要在管理员在 Keycloak 管理控制台/UI 中创建新用户时让电子邮件发送工作,这有点棘手,但我也成功了:

  1. 创建新用户并确保从 Required user actions 下拉列表中选择
    验证电子邮件
  2. 立即在用户
    Credentials
    选项卡下添加密码(临时或永久,没有区别)
  3. 在您的客户端应用程序中,以该用户身份登录(使用您刚刚为其创建的新密码)
  4. 系统现在将向该用户发送一封电子邮件,要求他们在允许他们访问应用程序之前验证其电子邮件
我不喜欢这个工作流程,因为它要求管理员在用户第一次登录之前以某种方式向用户发送临时/永久密码。但通过 Keycloak 的 REST API,我相信我会找到一种方法,在幕后使用相同的端点,但创建一个更注重用户体验的本土“

邀请新用户”功能。

© www.soinside.com 2019 - 2024. All rights reserved.