如何在firebase中将电子邮件验证码发送到用户电子邮件

har*_*rry 5 firebase firebase-authentication angularfire2 angular

我想使用 firebase 身份验证将电子邮件验证码发送到用户的电子邮件。我正在使用(sendEmailVerification)方法,但 firebase 向用户的电子邮件发送验证链接。如果是,是否可以将验证码发送到用户的电子邮件,那么如何完成?

我正在使用 Angular 4 和 firebase angularfire2

谢谢。

gui*_*efd 7

如果 don\xc2\xb4 不想使用 firebase 提供的解决方案,则必须自己处理所有过程,然后将用户emailVerified数据更新为true.

\n\n

基本的 3 个步骤是:
\n1. 向用户发送一封电子邮件,其中包含您想要的“任何代码”
\n2. 在您的逻辑中,验证用户输入的“代码”
\n3。使用 Firebase Admin SDK 更新用户 (您只能使用 Admin SDK 更新此用户属性)

\n\n

步骤 3 示例,使用 NodeJS

\n\n
admin.auth().updateUser(uid, {emailVerified:true})\n  .then(function(userRecord) {\n      console.log("update success", userRecord.toJSON());\n  })\n  .catch(function(err) {\n      console.log("Error updating user", err);\n  });\n
Run Code Online (Sandbox Code Playgroud)\n

  • 你能把步骤1和步骤2也写出来吗? (5认同)

boj*_*eil 0

Firebase Auth 现在支持在电子邮件验证流程中传递状态/继续 URL 的功能:https://firebase.google.com/docs/auth/web/passing-state-in-email-actions(Web 和 iOS,以及 Android)在途中)。与 6 位 SMS 代码不同,这些代码相当长。因此,复制代码,尤其是在不同设备上打开电子邮件时是不可行的。