如何直接获得Firebase User(fb auth)? (没有实时数据库参考)

时间:2016-10-30 16:10:00

标签: ios swift firebase firebase-authentication facebook-authentication

我正在使用具有发送方和接收方属性的Message对象创建应用程序。

我想分配这些属性位于Firebase控制台的Auth'标签中的用户(fb auth-ed)。

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

我可以像这样得到'当前用户':

FIRAuth.auth()?.currentUser

这将是Message的'sender'属性。

但是对于“接收者”属性,我想从Firebase控制台的“身份验证”选项卡中列出的fb授权用户中获取用户(发件人将从fb联系人的下拉列表中选择)。对于收件人,我需要能够做这样的事情(伪代码):

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

如果没有数据库中的User表,是否可以直接执行此操作?我是否真的需要将Firebase Auth中的条目复制到Firebase数据库?难道不是有更好的方法来从Firebase获得非当前用户吗?有没有人认为这是非常糟糕的设计(只是为了能够阅读一个条目)?那么我不负责维护这些条目吗?

赞赏指向特定阅读的指针!

为清楚起见,我不是要在Firebase控制台的实时数据库选项卡中查询条目。我正在尝试查询Firebase从Facebook保存的用户对象(在Firebase控制台的“身份验证”标签中可见)。

1 个答案:

答案 0 :(得分:0)

要访问其他用户,请按照以下方式创建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 即可存储在您将拥有您的用户ID的数据源中。