我正在为我的项目使用Firestore,并更新了我的规则:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
然而,每当有一个变化的消防站,它改变了这样的东西:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if
request.time < timestamp.date(2020, 11, 26);
}
}
}
我在多天内多次重置它,但它一直在变回来,我做错了什么?
编辑
这里是我的package.json,它看起来不像有任何规则文件的引用。
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"lint": "eslint .",
"serve": "firebase emulators:start --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "12"
},
"main": "index.js",
"dependencies": {
"firebase-admin": "^9.2.0",
"firebase-functions": "^3.11.0",
"bad-words": "^3.0.3"
},
"devDependencies": {
"eslint": "^5.12.0",
"eslint-plugin-promise": "^4.0.1",
"firebase-functions-test": "^0.2.0"
},
"private": true
}
2条答案
按热度按时间8nuwlpux1#
我的猜测是,当您部署函数时,您正在部署一个本地的、陈旧的规则文件。
检查您的
firebase.json
是否引用Firestore规则文件,和/或运行firebase deploy --only functions
。mpgws1up2#
在我的情况下,前面的答案是正确的。您应该查找以下文件:储存。储存或消防站规则。消防站规则。每次部署新版本的系统时,Firebase都会根据这些文件覆盖您的规则。