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

时间:2017-08-22 07:44:56

标签: angular firebase firebase-authentication angularfire2

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

我正在使用Angular 4和firebase angularfire2

感谢。

2 个答案:

答案 0 :(得分:1)

如果不想使用firebase提供的解决方案,您必须自己处理所有流程,然后将用户emailVerified数据更新为true

基本的3个步骤是:
1.使用您想要的“任何代码”向用户发送电子邮件 2.在您的逻辑中,验证用户输入的“代码”
3. use Firebase Admin SDK to update the user (您只能使用Admin SDK更新此用户属性)

步骤3示例,使用NodeJS

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

答案 1 :(得分:0)

Firebase Auth现在支持在电子邮件验证流程中传递状态/继续URL的功能:https://firebase.google.com/docs/auth/web/passing-state-in-email-actions(网络和iOS,随着Android的推移)。与6位SMS码不同,这些码很长。因此,复制代码,特别是如果您在其他设备上打开电子邮件是不可行的。