使用云功能发送电子邮件验证



我正在客户端注册新用户,然后我在某个地方阅读,其他社区成员也告诉我,在云中拥有此功能将自动触发它,并在每个用户创建后发送电子邮件:

exports.sendWelcomeEmail = functions.region('europe-west6').auth.user().onCreate((user) => {
user.sendEmailVerification().then(function () {
// Email sent.
}).catch(function (error) {
// An error happened.
});
});

问题是(根据文档(sendEmailVerification()在Admin SDK中不起作用,仅在Client SDK中起作用。我是不是遗漏了什么?

functions.auth.user().onCreate(user)函数有一个用户参数user,它是UserRecord类型。它没有sendEmailVerification

请参阅https://firebase.google.com/docs/reference/functions/providers_auth_#userrecord

sendEmailVerification,根据客户端SDK中存在的文档,通过https://firebase.google.com/docs/reference/js/firebase.User.

截至2020年,存在一个尚未解决的github问题:https://github.com/firebase/firebase-admin-node/issues/46它有一些解决方法(包括调用REST API,或在服务器上安装Firebase客户端SDK(

但是,如果您有SMTP服务器,并且更喜欢通过该服务器发送电子邮件,请参阅https://firebase.google.com/docs/auth/admin/email-action-links.

参考文献

  • https://firebase.google.com/docs/reference/functions/providers_auth_.userbuilder#oncreate
  • https://firebase.google.com/docs/reference/js/firebase.User
  • https://github.com/firebase/firebase-admin-node/issues/46
  • https://firebase.google.com/docs/auth/admin/email-action-links

相关内容

  • 没有找到相关文章

最新更新