【问题标题】:What document-id do you use to save user data anonymously to firebase?您使用什么文档 ID 将用户数据匿名保存到 Firebase?
【发布时间】:2021-04-20 10:10:15
【问题描述】:

想象一个将用户的配置保存到 Firebase 的应用。 Firestore 中的结构如下所示:

users (collection)
  - user1 (document)
  - user2 (document)

您如何命名用户的文档,以使用户保持匿名?

我的初衷是使用User.uid 作为document-id。与使用电子邮件地址相比,这将使识别一个人变得非常困难。可能看起来过于谨慎,但你永远不知道数据库是否被黑客入侵,如果它会发生并且其中会有大量个人数据,那么,按照目前的规定,你几乎......“搞砸了”。

User.uid 的问题是,每次安装应用程序时它都会发生变化,因此所有数据都会丢失...

您如何匿名保存用户数据,以便跨安装使用,但不允许未经授权的第三方找出用户的身份?

【问题讨论】:

  • 您可以进行匿名身份验证,也可以在应用重新安装后幸存下来,但不能同时使用两者。除此之外,使用 UID 作为文档 ID 是相当惯用的,我不确定我是否理解您要解决的安全问题。如果您专注于对数据的特定威胁,并展示您为保护数据所做的工作,这可能会有所帮助。
  • 感谢您的澄清。一个特定于应用程序的用户 ID,对于每个应用程序都是唯一的,但在应用程序安装之间也保持不变,这将很有用。当然,我们可以通过扰乱用户的电子邮件地址自己实现它,但是以安全的方式实现它变得越来越复杂......让我想知道其他开发人员如何确保他们的用户数据在 Firebase 中保持匿名。
  • 同意一致的 UID 是有用的,这就是为什么 Firebase 为除匿名提供者之外的所有提供者提供这些。为了能够在重新安装时生成相同的 UID,它必须知道一些关于识别他们的用户的信息,比如您上次评论中的电子邮件地址。如果这是您的用例可接受的要求,您可以使用电子邮件+密码或电子邮件链接提供程序。

标签: firebase google-cloud-firestore firebase-security


【解决方案1】:

根据 Firestore 的文档,您可以使用 push 方法来执行此操作,该方法可确保唯一且按时间顺序排列的密钥。

【讨论】:

    猜你喜欢
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 1970-01-01
    相关资源
    最近更新 更多