【问题标题】:Firebase: should I store user data on the authentication profile or databaseFirebase:我应该将用户数据存储在身份验证配置文件还是数据库中
【发布时间】:2019-11-11 00:48:11
【问题描述】:

我在我的 Flutter 应用中使用 FirebaseAuth.instance.verifyPhoneNumber() 注册了一个用户。这完美地工作,用户出现在我的 Firebase 控制台中。

FirebaseAuth.instance.currentUser() 现在在我打开应用程序时为我返回用户。 我应该在此处存储用户信息(年龄、体重等),还是应该在我的Database 中创建一个users 集合并在其中链接currentUser().uid

另外,我应该将其存储在与uid 相关联的数据库中,还是与登录信息相关联。例如,将user 链接到phoneNumber 而不是uid。因为如果您删除了用户,但他们想再次注册,那么他们将获得一个新的uid,但他们的phoneNumber / email 仍将保持不变,因此仍可以链接到他们的旧数据。

【问题讨论】:

  • 回答下面的#1。请限制自己在每个帖子中回答一个问题。
  • 好的,我删除了我的第二个问题(将单独发布)但是请您回答有关存储用户的额外信息吗?

标签: firebase flutter firebase-authentication


【解决方案1】:

您不能将任意数据添加到 Firebase 身份验证用户配置文件。所以你应该将额外的数据存储在一个数据库中,并且确实将它与用户的 UID 关联起来,这样你就可以很容易地查找它。这也使您可以更轻松地实现对用户的搜索,因为客户端 Firebase 身份验证 SDK 无法为除当前登录的用户之外的任何用户查找数据。


关于附加问题:如果用户从您的应用程序中删除他们的帐户,您应该尊重他们的意愿并删除您为他们存储的其他数据。

【讨论】:

  • 谢谢你!但是有一个问题,我应该存储链接到phoneNumberr / emailuser 还是链接到uid?我觉得,如果用户删除并重新注册,那么phoneNumberr / email 仍将保留他们的信息。但是他们会得到一个新的uid,然后它就不能链接到旧的个人资料了?还是应该只更新?
猜你喜欢
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 2020-10-22
  • 1970-01-01
  • 1970-01-01
  • 2017-01-08
  • 1970-01-01
  • 2021-05-25
相关资源
最近更新 更多