Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
firebase firestore缺少权限或权限不足,即使在没有规则的情况下允许读取_Firebase_Vue.js_Google Cloud Firestore_Firebase Security_Vuefire - Fatal编程技术网

firebase firestore缺少权限或权限不足,即使在没有规则的情况下允许读取

firebase firestore缺少权限或权限不足,即使在没有规则的情况下允许读取,firebase,vue.js,google-cloud-firestore,firebase-security,vuefire,Firebase,Vue.js,Google Cloud Firestore,Firebase Security,Vuefire,我正在尝试使用vuejs和firebase作为后端构建博客。 在本地工作时,我按预期从firestore获取数据,但在部署应用程序(使用firebase托管)时,我得到Uncaught(承诺中)firebase错误:控制台上的权限缺失或不足,即使很难,我也允许在无规则ATM的情况下读取。 我的firestore规则: rules_version = '2'; service cloud.firestore { match /databases/{database}/documents {

我正在尝试使用vuejs和firebase作为后端构建博客。 在本地工作时,我按预期从firestore获取数据,但在部署应用程序(使用firebase托管)时,我得到
Uncaught(承诺中)firebase错误:控制台上的权限缺失或不足
,即使很难,我也允许在无规则ATM的情况下读取。 我的firestore规则:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, 
      write: if request.auth != null;
    }
  }
}
我还在我的客户机上使用vuefire软件包。 我的代码: firebaseAPI.json

import firebase from "firebase/app";
import "firebase/firestore";

firebase.initializeApp(firebaseConfig);
export const db = firebase.firestore();


我的组件,其中im初始化firestore db中的数据:

<script>
import Article from "@/components/Article";
import { db } from "@/firebase/firebaseAPI";
export default {
  name: "Home",
  components: {
    Article
  },
  data: () => ({
    recipesArray: []
  }),
  computed: {},
  firestore: {
    recipesArray: db.collection("recipes")
  }
};
</script>


从“@/components/Article”导入物品;
从“@/firebase/firebaseAPI”导入{db};
导出默认值{
姓名:“家”,
组成部分:{
文章
},
数据:()=>({
配方数组:[]
}),
计算:{},
firestore:{
recipesArray:db.collection(“recipes”)
}
};
编辑

问题解决了。这是规则语法的一个问题,我不得不将它分成两个不同的allow语句,因为每个操作都有不同的规则

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read;
      //write: if
      //    request.time < timestamp.date(2020, 10, 29);
      allow write: if request.auth != null;
    }
  }
}
rules_version='2';
服务云.firestore{
匹配/databases/{database}/documents{
匹配/{document=**}{
允许读取;
//写:如果
//请求时间<时间戳日期(2020年10月29日);
允许写入:if request.auth!=null;
}
}
}