【问题标题】:Permission_denied to access firebase datastorePermission_denied 访问 firebase 数据存储
【发布时间】:2019-02-05 03:38:27
【问题描述】:

我正在尝试访问我的 Firebase 数据以运行一个小测试。我已经在 firebase 控制台中设置了一个应用程序并将访问规则设置为:

// Allow read/write access to all users under any conditions 
// Warning: **NEVER** use this rule set in production; it allows
// anyone to overwrite your entire database.
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

但我总是收到以下错误:

angular.js:14328 Error: permission_denied at /messages: Client doesn't have permission to access the desired data.

在这行代码:

var ref = firebase.database().ref().child('messages');

我错过了什么?

【问题讨论】:

    标签: firebase firebase-realtime-database firebase-security


    【解决方案1】:

    这些规则适用于 firestore,而不适用于 firebase-realtime 数据库。

    在控制台中转到数据库部分并单击下拉菜单,然后选择实时数据库:

    对于实时数据库,将您的规则更改为:

     {
     "rules": {
       ".read": true,
       ".write": true
      }
    }
    

    然后执行测试。

    【讨论】:

    • 它不允许我进入 Firestore 实时数据库。如果我尝试设置您提出的规则,我会得到: 第 1 行:不匹配的输入 '{' 期望 {'function', 'service', 'syntax'}
    • 请检查图像,在您的代码中您使用的是firebase实时数据库而不是firestore api
    • 勾选这个firebase.google.com/docs/database/web/… database() 方法这里是在实时数据库API中,所以你需要在数据库控制台中选择实时数据库并如上更改规则
    • 有两种不同的服务,一种叫firestore,一种叫实时数据库(不是同一个)
    猜你喜欢
    • 1970-01-01
    • 2019-12-20
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 2018-11-27
    • 1970-01-01
    • 2020-09-06
    相关资源
    最近更新 更多