【问题标题】:Get uid by email通过电子邮件获取 uid
【发布时间】:2018-07-13 17:06:55
【问题描述】:

我在网络上使用 firebase 身份验证,我有一个类似的数据库:

categories: {
    c1: {
        name: "Category 1,
    },
    c2: {
        name: "Category 2,
    },
    c3: {
        name: "Category 3,
    }
}
categoryOwners: {
    //u1 and u2 are uids generated by firebase authentication
    u1: { 
        c1: true,
        c3: true
    }
    u2: {
        c1: true,
        c2: true
    }
}

这个想法是用户可以创建新类别并与其他用户共享。

因此用户可以创建一个类别,他将提供该类别的名称以及他想要共享该类别的人的一系列电子邮件。

有没有办法通过前端用户提供的电子邮件从firebase身份验证中获取uid?

我的假设是,出于安全原因,我无法在前端执行此操作,因此我必须创建一个“用户”表并对其进行维护,或者我可以创建一个云功能。

我的假设正确吗?如果是,您认为哪种方法更优雅?

【问题讨论】:

    标签: firebase firebase-realtime-database firebase-authentication


    【解决方案1】:

    有一种方法可以通过电子邮件地址查找用户帐户,但只能在 Firebase Admin SDK 中使用。此 SDK 旨在用于受信任的环境,即您控制的系统或 Cloud Functions。如果这是您正在寻找的内容,请在retrieving user data 中阅读更多相关信息。

    如果您希望在客户端上运行它,那么确实没有办法通过用户的电子邮件地址来查找用户的 UID。在这种情况下,常见的方法确实是在数据库中创建映射。不过请务必确保对这些数据的访问安全,否则您可能会泄露用户的所有电子邮件地址。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-28
      • 2017-01-23
      • 1970-01-01
      • 2019-01-21
      • 2019-06-04
      • 1970-01-01
      • 2021-01-28
      • 1970-01-01
      相关资源
      最近更新 更多