【问题标题】:FusionAuth sendSetPasswordEmail not sending Set Password Email when creating a user创建用户时,FusionAuth sendSetPasswordEmail 不发送设置密码电子邮件
【发布时间】:2020-03-20 15:52:46
【问题描述】:

我想在不指定密码的情况下创建用户并让 FusionAuth 发送设置密码电子邮件。我正在使用 PHP 客户端库,虽然我可以创建一个用户,但没有发送电子邮件。但是,手动发送重置密码电子邮件会成功发送。

我已将 SMTP 设置配置为使用我的 Mailgun 帐户。

这是我通过客户端发送的内容;

$this->authClient->createUser(null, [
        'user' => [
            'active'               => true,
            'sendSetPasswordEmail' => true,
            'birthDate'            => '01/01/1990',
            'email'                => 'a.valid@email.co.uk',
            'firstName'            => 'John',
            'fullName'             => 'John Doe',
            'lastName'             => 'Doe',
            'middleName'           => '',
            'mobilePhone'          => +447777777777,
            'password'             => 'ForSomeReasonThisNEEDStoBeSet',
            'data'                 => [
                'identifier' => $someIdentifier
            ],
            'memberships'          => [
                ['groupId' => $myGroupId]
            ],
            'preferredLanguages'   => ['en'],
            'timezone'             => 'Europe/London',
            'twoFactorEnabled'     => false,
            'usernameStatus'       => 'ACTIVE',
            'username'             => $username,
            'verified'             => true
        ]
    ]);

即使我通过 sendSetPasswordEmailpassword 字段仍然是必需的,但文档建议不应该是这种情况;

仅当 sendSetPasswordEmail 设置为 true 时,此字段是可选的。默认 sendSetPasswordEmail 为 false,则此字段为必填项。

如何在创建用户时获取要发送的密码设置电子邮件?提前致谢

【问题讨论】:

  • 您是否检查了事件日志以查看是否有任何模板呈现或 SMTP 错误?这可能是 FreeMarker 问题。此外,您是否确认在“电子邮件”选项卡的“租户配置”下正确选择了“设置密码模板”?如果所有这些项目看起来都不错,这可能是一个回归,你可以为它打开一个 GitHub 问题。
  • @BrianPontarelli 两个事件日志都是空的,并且租户配置选择了正确的模板。我会打开一个 GitHub 问题,谢谢
  • @jakehallas 回答了您的 GitHub 问题。

标签: fusionauth


【解决方案1】:

sendSetPasswordEmail 是 JSON 请求中的顶级值。您需要将其作为user 对象的兄弟上移。

例子:

$this->authClient->createUser(null, [
        'sendSetPasswordEmail' => true,
        'user' => [
            'active'               => true,
            'birthDate'            => '01/01/1990',
            'email'                => 'a.valid@email.co.uk',
            'firstName'            => 'John',
            'fullName'             => 'John Doe',
            'lastName'             => 'Doe',
            'middleName'           => '',
            'mobilePhone'          => +447777777777,
            'password'             => 'ForSomeReasonThisNEEDStoBeSet',
            'data'                 => [
                'identifier' => $someIdentifier
            ],
            'memberships'          => [
                ['groupId' => $myGroupId]
            ],
            'preferredLanguages'   => ['en'],
            'timezone'             => 'Europe/London',
            'twoFactorEnabled'     => false,
            'usernameStatus'       => 'ACTIVE',
            'username'             => $username,
            'verified'             => true
        ]
    ]);

参考Create User API

【讨论】:

  • 好收获。错过了它是嵌套的。
猜你喜欢
  • 2013-10-29
  • 2023-03-27
  • 2019-06-18
  • 1970-01-01
  • 2019-07-26
  • 2011-04-16
  • 2015-04-24
  • 2013-12-18
  • 2015-08-13
相关资源
最近更新 更多