ios - 如何直接获取Firebase用户(fb auth)? (没有实时数据库引用)

标签 ios swift firebase firebase-authentication facebook-authentication

我正在使用具有发送者和接收者属性的消息对象创建一个应用程序。

我想将这些属性分配给位于 Firebase 控制台“身份验证”选项卡中的用户 (fb auth-ed)。

由于我的应用程序的功能只需要从用户读取数据,我认为我不需要将它们添加到实时数据库,只需通过 FIRAuth 访问它们(我假设这是 Auth' 的内部表示) Firebase 控制台上的选项卡)。

我可以这样获取“当前用户”:

FIRAuth.auth()?.currentUser

这将是消息的“发送者”属性。

但是对于“接收者”属性,我想从 Firebase 控制台的“身份验证”选项卡中列出的 Facebook 身份验证用户中获取一个用户(发件人将从 Facebook 联系人下拉列表中选择)。对于收件人,我需要能够执行以下操作(伪代码):

users.find(where uid == current_user.uid)

是否可以在数据库中没有用户表的情况下直接执行此操作?我真的需要将条目从 Firebase Auth 复制到 Firebase 数据库吗?是否应该有更好的方法从 Firebase 获取非当前用户?还有其他人认为这是非常糟糕的设计(仅仅能够阅读条目)吗?那么我不是负责维护这些条目吗?

也感谢指向具体阅读内容的指针!

为了清楚起见,我并没有尝试查询 Firebase 控制台的实时数据库选项卡中的条目。我正在尝试查询 Firebase 从 Facebook 保存的 User 对象(在 Firebase 控制台的“Auth”选项卡中可见)。

最佳答案

要访问其他用户,请使 JSON 结构如下:-

Users:{
  userID1 : {...//PERSONAL DATA},
  userID2 : {...//PERSONAL DATA},
  userID3 : {...//PERSONAL DATA}
  },
users_Data:{
    userID1 : {...//data to be shared like userID, name..etc},
    userID2 : {...//data to be shared like userID, name..etc},
    userID3 : {...//data to be shared like userID, name..etc}
 } 

只需访问这些 users_Data 即可存储在您的数据源中,您可以在其中访问您的 usersID。

关于ios - 如何直接获取Firebase用户(fb auth)? (没有实时数据库引用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40330993/

相关文章:

ios - cell.imageView 返回 nil

firebase - 对于 firebase 应用程序分发,发行说明的最大大小是多少?

android - ionic4 Android 无法添加任务 ':app:processDebugGoogleServices',因为该名称的任务已存在

firebase - 重新部署 Cloud Functions 如何影响事件队列

ios - 在 swift 中使用 FBSession.FBSessionState 值

ios - 使用 iOS 增加 PFFile 解析上传大小

ios - 如何使用 IBInspectable 来控制 subview 的属性?

ios - 几何入口点的 SceneKit 着色器修改器适用于 iOS 但不适用于 OS X

ios - 配置文件未显示在管理器中

macos - Nib 的自定义类无法连接到类