【问题标题】:How to send password change email instead of verification email for a new user in Auth0如何在 Auth0 中为新用户发送密码更改电子邮件而不是验证电子邮件
【发布时间】:2021-04-11 03:37:03
【问题描述】:

我是 Auth0 的新手,我正在努力将 Auth0 与我的 NodeJS 应用程序集成。我已经使用我的 NodeJS 应用程序设置了 Auth0,并且我开始知道如何在 Auth0 中创建 API 并与我的应用程序集成。

现在我的疑问是,每当我在 Auth0 的用户管理下添加新用户时,都会向用户发送一封验证电子邮件,但我希望用户收到密码更改电子邮件而不是验证电子邮件,这可能实现吗?当我交叉检查大多数文档时说使用管理 API 或身份验证 API 或实现规则来实现它,但我不知道如何实现它。

由于我是 Auth0 的新手,有没有办法让我找到逐步实现它的过程。

【问题讨论】:

    标签: node.js express auth0


    【解决方案1】:

    我一直在研究一个类似的用例,我使用 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")。签出:

    【讨论】:

    • 感谢您提供解决方案....您的解决方案按照我的要求运行良好 :)
    猜你喜欢
    • 2020-09-03
    • 1970-01-01
    • 2018-08-14
    • 1970-01-01
    • 2019-07-04
    • 2014-09-18
    • 2019-11-25
    • 2019-10-18
    • 2020-07-19
    相关资源
    最近更新 更多