Firebase规则从不返回请求。响应
当我在应用程序或模拟器中使用request.response安全规则运行Firebase/Firestore查询时,它始终无法通过检查。模拟器抛出错误:simulator.rules行[XX],列[XX]。对象上未定义属性资源 这意味着我查询的文档不是真实的。它存在于我的数据库中,为了防止模拟器不检查真实文档,我确保在运行get之前立即对文档执行sim create调用。在此集合或任何其他集合中似乎找不到我插入的实际文档ID。显然忽略了一些重要的、可能是荒谬的基本问题:Firebase规则从不返回请求。响应,firebase,google-cloud-firestore,firebase-security,Firebase,Google Cloud Firestore,Firebase Security,当我在应用程序或模拟器中使用request.response安全规则运行Firebase/Firestore查询时,它始终无法通过检查。模拟器抛出错误:simulator.rules行[XX],列[XX]。对象上未定义属性资源 这意味着我查询的文档不是真实的。它存在于我的数据库中,为了防止模拟器不检查真实文档,我确保在运行get之前立即对文档执行sim create调用。在此集合或任何其他集合中似乎找不到我插入的实际文档ID。显然忽略了一些重要的、可能是荒谬的基本问题: rules_versio
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的规则工作正常
这显然是一个超级样板规则/查询。我忽略了什么
非常感谢:正如错误消息所说,request.resource不存在。它只存在于写操作上 请尝试以下方法:
if request.auth.uid == resource.data.userID;