反应本地Firebase身份验证搜索

时间:2020-06-27 03:36:32

标签: javascript firebase react-native search firebase-authentication

我正在尝试创建一个可搜索的字段,该字段在firebase应用程序中搜索已注册的用户并返回所有紧密匹配项的列表。原因是我需要找到搜索到的用户uid以邀请他们加入游戏,然后传递推送通知以提醒他们已收到邀请。我不知道这是否可行,因为文档似乎暗示它必须与电子邮件地址进行1对1匹配才能返回。

我遇到的问题是firebase-admin中的admin.auth()要求节点模块执行相关工作。因此,我想知道是否还有另一个SDK允许您执行此操作,或者可以使用react native expo应用程序中的标准firebase导入来产生此功能。

不幸的是,我没有代码,因为似乎没有任何工作,并且都指向在基于节点的项目中使用firebase-admin程序包来执行查询的肮脏工作。

对此有任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:1)

仅通过客户端SDK(例如React Native的SDK)无法在所有Firebase身份验证用户中进行搜索。允许这样做将带来很大的安全风险。

有两种常用的方法可以安全地搜索用户:

  1. 在每个用户注册时将有关每个用户的信息写入数据库(例如Cloud Firestore或实时数据库),然后在需要时搜索数据库。这样,您的代码可以控制要写入的数据并可以进行搜索。

  2. Firebase具有在可信任环境(例如开发计算机,您控制的服务器或云功能)中运行的Admin SDK。这些SDK具有列出用户的选项,这意味着您可以搜索他们。如果将其中一个Admin SDK封装在自己构建并保护自己的自定义API中,则可以从应用程序代码中调用它。