我是Auth0的新手,我正致力于将Auth0与我的NodeJS应用程序集成起来。我已经用我的Auth0应用程序安装了NodeJS,我也知道如何在Auth0中创建API并与我的应用程序集成。
现在我的疑问是,每当我在Auth0中添加一个用户管理下的新用户时,就会向用户发送一封验证电子邮件,而不是我希望用户获得密码更改电子邮件的验证邮件,这能实现吗?当我交叉检查大多数说使用管理API或身份验证API或实现规则来实现它的文档时,我不知道如何实现它。
因为我刚开始接触Auth0,所以有一种方法可以让我一步一步地找到方法来实现它。
发布于 2021-03-30 10:48:37
我一直在处理类似的用例,使用Auth0管理客户端创建用户,然后使用Auth0身份验证客户端请求重置密码电子邮件。我一直遵循“使用自定义电子邮件模板发送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")
。查看:
https://stackoverflow.com/questions/65578003
复制相似问题