【发布时间】: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