NodeJS firebase-admin无法发送电子邮件验证链接

a64a0gku  于 2022-11-03  发布在  Node.js
关注(0)|答案(1)|浏览(159)

我使用节点firebase-admin来管理用户,如下所示。

function (req, res, next) {
  const { email, password } = req.body;
  const auth = getAuth();
  const userRecord = await auth.createUser({ email, password });
  auth.generateEmailVerificationLink(email).then(console.log);
  // this log verify link successfully xyz.firebaseapp.com/__/auth/action?mode=verifyEmail&oobCode=...
  await accountService.createAccount({ id: userRecord.uid, email })
  res.status(200).json(userRecord);
}

我也尝试了不同的电子邮件,也调试auth.generateEmailVerificationLink函数,看到它调用到firebase auth api并成功。但无法在邮箱或垃圾邮件中找到电子邮件。

irlmq6kh

irlmq6kh1#

Firebase Admin SDK的generateEmailVerificationLink方法只生成要放入邮件中的链接。一旦生成链接,您就需要将该链接嵌入到邮件中,然后使用您想要的任何服务发送电子邮件。
如果要使用内置的电子邮件验证方法,则必须使用客户端SDK的相应sendVerificationEmail方法。
Firebase Client SDK提供向用户发送电子邮件的功能,其中包含可用于密码重置、电子邮件地址验证和基于电子邮件的登录的链接。这些基于模板的电子邮件由Google发送,可自定义性有限。

相关问题