限制无需Firestore规则或Firebase身份验证即可获取实时文档更新的用户

限制无需Firestore规则或Firebase身份验证即可获取实时文档更新的用户,firebase,security,google-cloud-firestore,Firebase,Security,Google Cloud Firestore,是否有方法限制对文档快照更改的访问?(我们目前正在使用.onSnapsho()。我们不希望随机Tom读取我们的数据。) 我相信答案是使用Firestore规则或Firebase身份验证(例如使用谷歌电子邮件登录)但有其他方法吗? 当前情况: 对于写入Firestore,我们调用Firebase函数,URL包含一个MD5查询,可用于验证请求。一旦经过身份验证,函数将写入数据库 是否有类似的东西(比如使用MD5查询)来接收文档更新?(只有经过身份验证,您才能接收更新。) 我将忽略你问题的最后一

是否有方法限制对文档快照更改的访问?(我们目前正在使用.onSnapsho()。我们不希望随机Tom读取我们的数据。)

我相信答案是使用Firestore规则或Firebase身份验证(例如使用谷歌电子邮件登录)但有其他方法吗?

当前情况:

  • 对于写入Firestore,我们调用Firebase函数,URL包含一个MD5查询,可用于验证请求。一旦经过身份验证,函数将写入数据库

  • 是否有类似的东西(比如使用MD5查询)来接收文档更新?(只有经过身份验证,您才能接收更新。)

我将忽略你问题的最后一行,因为你在想/不想让用户验证这一点上自相矛盾

除此之外:您可以使用MD5值作为文档ID的一部分。然后将规则设置为:

  • 不允许对集合进行
    list
    调用
  • 允许对任何文档调用
    get
这样,只有在以某种方式知道文档ID的情况下,才能读取该文档。这种隐蔽性带来的安全性非常常见,而且(取决于所用密钥的长度和熵)也非常安全

但在这种情况下,密钥本质上是一个永不过期的承载令牌,因此您必须愿意接受任何获得密钥的人都可以访问文档