向 Firebase 用户添加新数据

Posted

技术标签:

【中文标题】向 Firebase 用户添加新数据【英文标题】:Adding new data to firebase users 【发布时间】:2018-03-21 07:29:37 【问题描述】:

我想向 Firebase 身份验证添加一个新数据,其中包含显示名称、电话号码、图像等数据。但我想添加更多这样的性别、生日等等。可以添加新的吗?

【问题讨论】:

【参考方案1】:

在我的 React with Firebase 应用程序中引入用户角色进行授权时,我遇到了同样的问题。不知何故,我希望能够将角色属性传递给经过身份验证的用户,但又发现自己处于 Firebase 的限制性框架中,按照自己的方式进行操作。

我通过 (1) 在 Firebase 数据库中自己管理用户以及 (2) 在应用程序加载时将经过身份验证的用户与数据库用户合并找到了一种解决方法。然后我可以向我的数据库用户添加其他用户属性(例如角色),因为无论如何它都会与经过身份验证的用户合并。

如果您对这种方法感兴趣,请查看此tutorial。

【讨论】:

【参考方案2】:

无法向 Firebase 身份验证用户配置文件添加任意附加数据。如果需要,请考虑使用 Firebase 实时数据库(或 Cloud Firestore)来存储其他信息。

过去很多问题都涉及过这种方法,所以我将把你链接到这些问题:

Firebase: setting additional user properties Add extra User Information with firebase How do I link each user to their data in Firebase? Swift & Firebase - How to store more user data other than email and password? Store additional information during registration with Firebase in android How to add additional information to firebase.auth()

从几周前开始,您可以向 Firebase 身份验证用户配置文件添加少量信息。虽然这听起来像是您需要的,但它明确不是用于存储您需要的用户元数据。相反,这是为了存储所谓的声明:关于您随后在安全规则中访问的用户的属性。请参阅documentation for setting custom claims。

【讨论】:

非常感谢先生。我想我会使用 Firebase 实时数据库而不是 Firebase 身份验证 您能帮我如何在 Firebase 实时数据库和 Firebase 身份验证之间建立链接吗?我的意思是我会使用实时数据库来保存额外的用户信息,然后身份验证仅用于登录身份验证。 您阅读我分享的链接了吗?其中多个准确地展示了如何用各种语言做到这一点。如果你很难让它工作,分享the code of where you got stuck(阅读链接,它非常有用)。 这是我想在 UP 按钮上多次按下的响应之一 :) 非常感谢详细的响应!

以上是关于向 Firebase 用户添加新数据的主要内容,如果未能解决你的问题,请参考以下文章

Firebase如何向所有孩子添加新数据

注册时尝试向 Firebase 用户添加新的数据字段,但 FirebaseUser.class 文件中没有更新 X 方法

在 Firebase 用户表上添加额外的详细信息

向 Firebase 实时数据库添加新值时如何保存当前日期/时间

我希望在 Firebase 实时数据库中添加数据时收到通知

在 Flutter 应用上向用户发送独特的 Firebase 推送通知