【发布时间】:2020-06-15 06:54:03
【问题描述】:
当我使用 request.response 在应用程序或模拟器中使用安全规则运行 Firebase/Firestore 查询时,检查始终失败。模拟器抛出“错误:simulator.rules 行 [XX],列 [XX]。属性资源未在对象上定义。”
这意味着我正在查询的文档不是真实的。它存在于我的数据库中,以防模拟器不检查真实文档,我确保在运行 get 之前立即对文档进行 sim“创建”调用。在此集合或任何其他集合中似乎没有找到我插入的实际文档 ID。明显忽略了一些重要的,可能是荒谬的基本:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /responses/{id} {
allow read:
if request.auth.uid == request.resource.data.userID;
}
}
仅供参考,查询已通过身份验证,我正在点击路径“responses/documentName”,该路径实际上存在“userID”属性。不使用 request.response 的规则运行良好。
这显然是一个超级样板规则/查询。我忽略了什么?
非常感谢:)
【问题讨论】:
标签: firebase google-cloud-firestore firebase-security