firebase - Firestore 规则不断变化
问题描述
我正在为我的项目使用 Firestore,并更新了我的规则:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
然而,只要 Firestore 发生变化,它就会变成这样:
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
}
解决方案
我的猜测是,当您部署函数时,您正在部署一个本地的、陈旧的规则文件。
检查您firebase.json
对 Firestore 规则文件的引用,和/或运行firebase deploy --only functions
.
推荐阅读
- javascript - 带有逻辑的 Vue JS 选择
- python - 如何在 Python dict 值之间插入新行
- linux - 范围内的 For 循环迭代在 bash 中不起作用
- entity-framework-core - 包含在所有拆分查询中找到的引用导航属性的左外连接语句
- linux - prctl、set_pdeathsig 在 perl 中是如何工作的?
- javascript - 仅在加载后返回图像
- android - 我无法使用 maven-publish 插件发布 android 库
- flutter - 如何在颤动中使用文本数量动态更改容器大小?
- python - 具有不同通道数的多个输入的 Keras 模型
- api - Arxiv API 的搜索结果不同于 Arxiv 高级搜索