Algolia + Firestore:安全规则

Iwa*_*rse 4 firebase algolia google-cloud-firestore

我计划将 Algolia 搜索添加到我正在开发的 React 应用程序中。数据存储在 Cloud Firestore 中。我已经使用 Algolia 的扩展设置了 Algolia 和 Firestore 之间的同步,并且我已经测试了即时搜索,效果非常好。

然而,我突然想到,当从 Algolia 搜索返回数据时,我在 Firestore 中为不同用户角色精心设置的安全规则将被完全忽略。

建议我按照这些说明对数据实施用户限制。但现在,我需要重复所有按照我希望的方式设置 Firestore 安全规则的工作,而且似乎付出了巨大的努力。这也意味着每当我更改安全规则时,我都必须更改 Algolia 限制。只是为了搜索。

有没有人找到一种更简单的方法来实现类似搜索的查询 Firestore,同时维护其安全规则?

Fra*_*len 6

由于您使用可从公共互联网调用的 API 将信息存储在两个位置,因此您需要分别保护对这两个位置的信息的访问。

我能想到的第一个替代方案是对两个地方的数据使用公共访问点(例如使用 Cloud Functions),然后禁用允许客户端直接访问的 API。

正如 OP 在评论中指出的那样,有一种相对方便的方法可以在 Firebase 和 Algolia 之间共享用户身份,记录在有关为Algolia 集成添加安全性的部分中。

  • 哦,我还没看过,谢谢分享。我也在我的答案中添加了它,以便将来的用户更容易找到它。 (3认同)