0

我想在不指定密码的情况下创建用户并让 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,然后此字段将是必需的。

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

4

1 回答 1

2

是 JSON 请求中的sendSetPasswordEmail顶级值。您需要将其作为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
        ]
    ]);

参考创建用户 API

于 2020-03-20T18:31:38.167 回答