【问题标题】:How to send email verification code to user email in firebase如何将电子邮件验证码发送到firebase中的用户电子邮件
【发布时间】:2017-08-22 07:44:55
【问题描述】:

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

我正在使用 Angular 4 和 Firebase angularfire2

谢谢。

【问题讨论】:

  • 只要您使用 Firebase 身份验证,您将获得电子邮件验证模板。因此,您需要执行的只是更改身份验证下给出的模板,然后在其中添加验证码。
  • 模板中没有添加验证码的选项。我在哪里可以找到它?

标签: angular firebase firebase-authentication angularfire2


【解决方案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步和第2步吗?
【解决方案2】:

Firebase 身份验证现在支持在电子邮件验证流程中传递状态/继续 URL:https://firebase.google.com/docs/auth/web/passing-state-in-email-actions(Web 和 iOS,Android 正在开发中)。与 6 位 SMS 代码不同,代码相当长。所以复制代码,特别是如果你在不同的设备上打开电子邮件是不可行的。

【讨论】:

    猜你喜欢
    • 2020-07-19
    • 2018-08-14
    • 2020-08-06
    • 2019-06-24
    • 2018-11-21
    • 1970-01-01
    • 2021-12-16
    • 2020-12-12
    • 2019-04-12
    相关资源
    最近更新 更多