Firestore SDK - onSnapshot 事件 listener/pending 将存储数据写入何处?

Firestore SDK - Where does onSnapshot event listener/pending writes store data?

根据下面 link 中的答案:

The Firestore SDK keeps a local copy of:

  • All data that you have an active listener for.
  • All pending writes.

In addition, if offline persistence is enabled, it also keeps a local copy of data that your code has recently read.

这是否意味着即使在 Web 上禁用离线持久性,onSnapshot 事件侦听器和待处理的写入仍将无论如何存储在本地缓存中?

我担心这些侦听器的共享计算机上的敏感数据和存储在本地的待处理写入(如果它们未成功写入服务器,即在此过程中脱机等)。恶意用户能否以某种方式访问​​这些数据?这是网络应用程序 firestore 的缺陷吗?

如果禁用离线持久化,则只有挂起的写入才会存储在本地缓存中。

您应该假设在本地设备上输入的所有数据都可以被获得该设备访问权限的恶意行为者拦截。如果您的 use-case 无法接受,请考虑不使用 Firebase SDK for Firestore,而是直接使用 REST API 或 gRPC API。