如何为 Auth0 中的新用户发送密码更改电子邮件而不是验证电子邮件
How to send password change email instead of verification email for a new user in Auth0
我是 Auth0 的新手,我正在努力将 Auth0 与我的 NodeJS 应用程序集成。我已经用我的 NodeJS 应用程序设置了 Auth0,我也开始知道如何在 Auth0 中创建 API 并与我的应用程序集成。
现在我的疑问是,每当我在 Auth0 的用户管理下添加新用户时,都会向用户发送一封验证电子邮件,但我希望用户收到密码更改电子邮件而不是验证电子邮件,这是否可以实现?当我交叉检查大多数文档说使用管理 API 或身份验证 API 或实施规则来实现它时,但我不确定如何实施它。
由于我是 Auth0 的新手,有没有办法让我找到实现它的分步过程。
我一直在研究一个类似的用例,我使用 Auth0 管理客户端创建用户,然后使用 Auth0 身份验证客户端请求重置密码电子邮件。我一直在关注 here 描述的“使用自定义电子邮件模板发送 Auth0 更改密码电子邮件”工作流程。但是,它缺少一个实现示例:
import {
AuthenticationClient,
ManagementClient
} from "auth0";
const mc = new ManagementClient({
domain: process.env.AUTH0_DOMAIN,
clientId: process.env.AUTH0_CLIENT_ID,
clientSecret: process.env.AUTH0_CLIENT_SECRET,
});
const ac = new AuthenticationClient({
domain: process.env.AUTH0_DOMAIN,
clientId: process.env.AUTH0_CLIENT_ID,
clientSecret: process.env.AUTH0_CLIENT_SECRET,
});
(async function() {
await mc.createUser({
connection: "Username-Password-Authentication",
email: "newuser@example.com",
email_verified: false, // this is implicitly set to true when the user follows the reset password link in the email they receive, but should be false for now
name: "New User",
password: "A random placeholder conforming to your policy", // e.g. "npm install generate-password"
});
await ac.requestChangePasswordEmail({
email: "newuser@example.com",
connection: "Username-Password-Authentication",
});
})()
最后,如果您要求电子邮件是邀请电子邮件,您可以在 Auth0 管理控制台中自定义重置密码电子邮件模板和重置密码页面。使用流动语法,您可以检查 user.email_verified == false
以有条件地将 isInvitation=true
参数附加到电子邮件的 {{ url }}
并在重置密码页面逻辑中测试此参数。在我的例子中,我使用 window.location.href.includes("isInvitation=true")
。查看:
我是 Auth0 的新手,我正在努力将 Auth0 与我的 NodeJS 应用程序集成。我已经用我的 NodeJS 应用程序设置了 Auth0,我也开始知道如何在 Auth0 中创建 API 并与我的应用程序集成。
现在我的疑问是,每当我在 Auth0 的用户管理下添加新用户时,都会向用户发送一封验证电子邮件,但我希望用户收到密码更改电子邮件而不是验证电子邮件,这是否可以实现?当我交叉检查大多数文档说使用管理 API 或身份验证 API 或实施规则来实现它时,但我不确定如何实施它。
由于我是 Auth0 的新手,有没有办法让我找到实现它的分步过程。
我一直在研究一个类似的用例,我使用 Auth0 管理客户端创建用户,然后使用 Auth0 身份验证客户端请求重置密码电子邮件。我一直在关注 here 描述的“使用自定义电子邮件模板发送 Auth0 更改密码电子邮件”工作流程。但是,它缺少一个实现示例:
import {
AuthenticationClient,
ManagementClient
} from "auth0";
const mc = new ManagementClient({
domain: process.env.AUTH0_DOMAIN,
clientId: process.env.AUTH0_CLIENT_ID,
clientSecret: process.env.AUTH0_CLIENT_SECRET,
});
const ac = new AuthenticationClient({
domain: process.env.AUTH0_DOMAIN,
clientId: process.env.AUTH0_CLIENT_ID,
clientSecret: process.env.AUTH0_CLIENT_SECRET,
});
(async function() {
await mc.createUser({
connection: "Username-Password-Authentication",
email: "newuser@example.com",
email_verified: false, // this is implicitly set to true when the user follows the reset password link in the email they receive, but should be false for now
name: "New User",
password: "A random placeholder conforming to your policy", // e.g. "npm install generate-password"
});
await ac.requestChangePasswordEmail({
email: "newuser@example.com",
connection: "Username-Password-Authentication",
});
})()
最后,如果您要求电子邮件是邀请电子邮件,您可以在 Auth0 管理控制台中自定义重置密码电子邮件模板和重置密码页面。使用流动语法,您可以检查 user.email_verified == false
以有条件地将 isInvitation=true
参数附加到电子邮件的 {{ url }}
并在重置密码页面逻辑中测试此参数。在我的例子中,我使用 window.location.href.includes("isInvitation=true")
。查看: