我已在Firestore数据库中添加了多个规则。当我在开发模式下测试该应用程序时,一切都会按其应有的方式工作,但是由于某种原因,当我为生产而构建和运行该应用程序时,所有请求都被拒绝,并显示“缺少或权限不足”。
我不允许任何人阅读文档。这些规则至关重要,我不确定它们是否是问题所在。我已经使用Firestore模拟器来测试呼叫以及该模拟器。
我正在使用命令进行构建:
electron-builder build --win --x64
规则
match /databases/{database}/documents {
function owns(id) {
return request.auth.uid == id;
}
match /{userId}/{document=**} {
allow read, write: if owns(userId);
}
}
load(collectionName) {
const uid = firebase.auth().currentUser;
let collection = uid &&
firebase.firestore().collection(uid).doc("data").collection(collectionName);
}
return collection.get();
}
基本上,数据库的顶层是用户ID,用户可以访问其顶层集合中的集合。