我使用节点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并成功。但无法在邮箱或垃圾邮件中找到电子邮件。
1条答案
按热度按时间irlmq6kh1#
Firebase Admin SDK的
generateEmailVerificationLink
方法只生成要放入邮件中的链接。一旦生成链接,您就需要将该链接嵌入到邮件中,然后使用您想要的任何服务发送电子邮件。如果要使用内置的电子邮件验证方法,则必须使用客户端SDK的相应
sendVerificationEmail
方法。Firebase Client SDK提供向用户发送电子邮件的功能,其中包含可用于密码重置、电子邮件地址验证和基于电子邮件的登录的链接。这些基于模板的电子邮件由Google发送,可自定义性有限。