Firestore规则允许

问题描述 投票:0回答:1

有2个应用程序使用相同的firestore数据。 1.前端2.后端

前端使用jquery仅显示数据。

后端Angular7管理应用程序,用于创建,更新,删除前端数据。

现在前端提示错误

错误:PERMISSION_DENIED:权限被拒绝

Firestore规则

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

var dbRef = firebase.database();
var contactsRef = dbRef.ref("Slides");

//load older conatcts as well as any newly added one...
contactsRef.on("child_added", function(snap) {
  console.log("added", snap.key(), snap.val());
  $("#contacts").append(contactHtmlFromObject(snap.val()));
});
function contactHtmlFromObject(contact) {
  console.log(contact);
  var html = "";
  html += '<li class="list-group-item contact">';
  html += "<div>";
  html += '<p class="lead">' + contact.name + "</p>";

  html += "</div>";
  html += "</li>";
  return html;
}
jquery firebase google-cloud-firestore firebase-security-rules
1个回答
0
投票

Firebase中有两种数据库:实时数据库和Firestore。

您的请求正在访问实时数据库:

var dbRef = firebase.database();
var contactsRef = dbRef.ref("Slides");

但规则适用于您的Firestore数据库:

service cloud.firestore {

因此,您需要转到Firebase中的数据库部分,然后在标题旁边会看到下拉列表。切换到Realtime Databse,然后选择Rules选项卡。

它应该如下所示:

{
    "Slides": {
      ".write": "auth != null",
      ".read": true,
    },
}
© www.soinside.com 2019 - 2024. All rights reserved.