firebase - Algolia + Firestore:安全规则
问题描述
我打算将 Algolia 搜索添加到我正在开发的 React 应用程序中。数据存储在 Cloud Firestore 中。我已经使用 Algolia 的扩展程序设置了 Algolia 和 Firestore 之间的同步,并且我已经测试了即时搜索,效果很好。
但是,我突然想到,当从 Algolia Search 返回数据时,我在 Firestore 中为不同用户角色精心设置的安全规则将被完全忽略。
建议我按照这些说明对数据实施用户限制。但是现在我所有的工作都需要按照我想要的方式来设置我的 Firestore 安全规则,这似乎需要付出巨大的努力。这也意味着每当我更改安全规则时,我都必须更改 Algolia 限制。只是为了搜索。
有没有人找到一种更简单的方法来实现类似搜索的查询 Firestore,同时保持他们的安全规则?
解决方案
由于您使用可以从公共 Internet 调用的 API 将信息存储在两个地方,因此您需要分别保护对这两个地方的信息的访问。
我能想到的第一个替代方案是对两个地方的数据使用公共访问点(例如使用 Cloud Functions),然后禁用允许从客户端直接访问的 API。
正如 OP 在评论中指出的那样,有一种相对方便的方法可以在 Firebase 和 Algolia 之间共享用户身份,该方法记录在“为 Algolia 集成添加安全性”部分中。
推荐阅读
- macos - 调用 join 方法时,MacOS 上的 Unity 崩溃 (Agora.io)
- python-3.x - 无法导入 Spacy:ImportError: preshed.maps 未导出预期的 C 函数 map_clear
- c++ - HttpSendRequest 删除我的值,而 HttpSendRequestA 作为例外工作
- kotlin - 如何将字符串编码为唯一长?
- http - Golang http.Get 太多重定向
- python - 使用不同的模型计算累积分布函数
- wireshark - 通过 Wireshark 导出解释的帧信息
- c++ - C++ union-initialization by immediate vs. 通过变量初始化
- laravel - 检索已完成课程的问题
- python - 急切执行函数的输入不能是 Keras 符号张量,但可以找到