【发布时间】:2017-03-12 21:01:12
【问题描述】:
我正在使用具有发送者和接收者属性的消息对象制作应用程序。
我想将这些属性分配给位于 Firebase 控制台 (fb auth-ed) 的“身份验证”选项卡中的用户。
由于我的应用程序的功能只需要从用户那里读取数据,我认为我不需要将它们添加到实时数据库中,只需通过 FIRAuth 访问它们(我假设这是 Auth 的内部表示) Firebase 控制台上的选项卡)。
我可以像这样获取“当前用户”:
FIRAuth.auth()?.currentUser
这将是消息的“发件人”属性。
但对于“接收者”属性,我想从 Firebase 控制台的“身份验证”选项卡中列出的经过 fb 身份验证的用户(发件人将从 fb 联系人的下拉列表中选择)获取一个用户。对于收件人,我需要能够做这样的事情(伪代码):
users.find(where uid == current_user.uid)
是否可以在数据库中没有用户表的情况下直接执行此操作?我真的需要将条目从 Firebase Auth 复制到 Firebase 数据库吗?难道不应该有更好的方法从 Firebase 获取非当前用户吗?有没有其他人认为这是非常糟糕的设计(仅仅能够阅读条目)?那么我不负责维护这些条目吗?
也欣赏指向特定阅读的指针!
为了清楚起见,我并不想在 Firebase 控制台的实时数据库选项卡中查询条目。我正在尝试查询 Firebase 从 Facebook 保存的用户对象(在 Firebase 控制台的“身份验证”选项卡中可见)。
【问题讨论】:
-
如果您尝试访问其他用户信息,则需要将这些值存储在数据库中,然后从那里访问它们。从当前的
auth类中,您将只能访问当前用户的信息 -
感谢@Dravidian,我相信您并乐于尝试,但如果您知道文档中的哪个位置指定它是必要的,我也会喜欢该链接。
-
没有 API 可以从 Firebase 身份验证中获取用户列表。典型的方法是 Dravidian 回答的,许多问题已经涵盖了这个问题,包括这个original one、这个one from me 和这个recent one。
-
谢谢,这个问题确实回答了它,听起来这是设计使然,并且出于良好的安全相关原因。
标签: ios swift firebase firebase-authentication facebook-authentication