Algolia + Firestore:安全规则

Algolia + Firestore: Security Rules

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

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

我被推荐遵循 these instructions 来对数据实施用户限制。但是现在,我需要重复我所有的工作,让我的 Firestore 安全规则完全按照我想要的方式设置,而且似乎付出了很大的努力。这也意味着每当我更改安全规则时,我都必须更改 Algolia 限制。仅供搜索。

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

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

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

正如 OP 在评论中指出的那样,在 adding security 到 Algolia 集成的部分中,有一种相对方便的方法可以在 Firebase 和 Algolia 之间共享用户身份。