【问题标题】:Firestore rules for permissionFirestore 权限规则
【发布时间】:2019-03-14 09:50:24
【问题描述】:

有 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;
}

【问题讨论】:

  • 你能写出你试图执行的firestore请求吗?
  • 更新问题。

标签: jquery firebase google-cloud-firestore firebase-security


【解决方案1】:

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

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

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

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

service cloud.firestore {

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

应该是这样的:

{
    "Slides": {
      ".write": "auth != null",
      ".read": true,
    },
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-13
    • 2019-08-20
    • 2020-03-22
    • 2018-07-07
    • 2018-03-21
    • 1970-01-01
    相关资源
    最近更新 更多