【问题标题】:Firebase verify multiple email addresses for the same userFirebase 验证同一用户的多个电子邮件地址
【发布时间】:2017-12-22 06:59:20
【问题描述】:

我正在使用 Firebase Web SDK 4.0.0,并希望我的用户能够验证同一帐户的多个电子邮件地址。就上下文而言,我的目标是接收来自 dave@home.com 和 dave@work.com 的电子邮件,并知道它肯定来自 Dave (uid 123456789)。

我查看了docs about linking accounts,但我认为这种方法行不通,因为我需要多封电子邮件。

我曾考虑将电子邮件存储在数据库中并将它们链接到用户,但这并没有与 Firebase 验证过程挂钩(我想使用它)。

任何关于如何解决这个问题的想法都会非常有帮助。

【问题讨论】:

  • 我对如何做到这一点有了一些想法。在 firebase 身份验证中链接多个电子邮件是不可能的。但是,您可以使用 firebase 数据库在这些电子邮件之间进行链接,但为什么您希望一个用户拥有多封电子邮件?
  • @UmarZaii 我的应用receives 电子邮件,因此我希望允许用户从多个电子邮件帐户发送电子邮件并将它们归于同一个 Firebase 用户帐户。
  • 从多个帐户发送电子邮件是什么意思?
  • @UmarZaii 用户向我的应用发送电子邮件。许多人有多个电子邮件地址,例如一个用于工作,一个用于个人资料。我想承认这一事实,并允许用户链接任意数量的电子邮件地址。

标签: firebase firebase-authentication


【解决方案1】:

如果您希望用户在其帐户中注册多个电子邮件。您必须在 firebase 数据库中进行链接。下面是如何在数据库中实现该结构。

{
  "userAuth": {
    "userId001": {
      "userRNGId": "abc123",
      "userEmail": "example01@gmail.com"
    },
    "userId002": {
      "userRNGId": "abc123",
      "userEmail": "example02@gmail.com"
    }
  },

  "userList": {
    "abc123": {
      "userName": "James",
      "occupation": "Programmer",
      "userAccounts": {
        "userId001": {
          "userAuth": "userId001"
        },
        "userId002": {
          "userAuth": "userId002"
        }
      }
    }
  }
}

使用这种结构,您仍然可以使用 firebase 身份验证来验证他们的电子邮件地址。

userId001 和 userId002 是通过 firebase 身份验证创建的 RNG。

在 userRNGId(例如 abc123) 中,您应该创建随机用户 ID,以便所有电子邮件都链接到该 ID。

希望对你有帮助。

【讨论】:

  • 感谢您的支持 - 这与我脑海中的一个选项相似。我需要查看文档以找出多个地址的验证以及登录用户的流程。这是我怀疑使这种方法比我想要的更复杂的一点。感谢您的贡献。
  • 没问题,很高兴能帮上忙 :)
猜你喜欢
  • 1970-01-01
  • 2017-06-14
  • 2013-10-14
  • 2016-11-03
  • 1970-01-01
  • 2014-05-23
  • 2014-06-12
  • 1970-01-01
  • 2019-09-28
相关资源
最近更新 更多