【发布时间】:2019-04-20 19:26:48
【问题描述】:
service cloud.firestore {
match /databases/{database}/documents {
match/projects/{project} {
allow read: if
get(/databases/$(database)/documents/projects/$(project)).data.uid ==
request.auth.uid;
allow create: if request.auth.uid == request.resource.data.uid;
allow update, delete: if request.auth.uid == resource.data.uid;
}
}
}
我在这里做查询:
firestoreConnect((props) => {
return ([{ collection: 'projects', where: [["uid", "==", props.auth.uid]] }])
})
但我收到一个错误:
配置文件侦听器出错:缺少权限或权限不足。 错误:权限缺失或不足。 在新的 FirestoreError (index.cjs.js:402)。
当我使用模拟器在路径中输入文档 ID 进行检查时,我获得了读取权限。 我没有得到我错的地方。也许在查询中。
当我将规则更改为:
allow read : if resource.data.uid == request.auth.uid;
没有错误,显示数据。
为什么它发生是错误或我做错了什么?我知道 Firebase 规则不是过滤器。
【问题讨论】:
标签: reactjs firebase google-cloud-firestore firebase-security react-redux-firebase