【问题标题】:Got permission denied when writing to the second instance of Firebase realtime database写入 Firebase 实时数据库的第二个实例时获得权限被拒绝
【发布时间】:2018-12-26 17:13:48
【问题描述】:

我的 ionic 应用使用两个 firebase 数据库实例。该规则允许每个人读取数据,但要求用户通过身份验证才能写入数据库。

它在主数据库实例上工作正常,但第二个数据库实例存在问题:从它读取没有问题,但写入第二个数据库实例总是出错并出现Permission Denied 错误。

如果我更改规则以允许所有人写入,第二个数据库实例也将正常工作。这是我的规则的样子:

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

【问题讨论】:

  • 当您说“数据库实例”时,您是指单个 Firebase 项目中的分片,还是不同 Firebase 项目中的两个不同数据库?
  • 这是一个有两个数据库的项目。
  • 在我看来,同一个项目中的每个实例都有不同的规则。您是否对每个实例分别应用相同的规则?
  • 是的,两个独立的规则。由于数据不同,所以规则也不完全相同。

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


【解决方案1】:

我发现了问题所在。根据规则,这两个数据库实例都需要用户进行身份验证才能拥有写访问权限。由于每个数据库仅配置/连接一个应用程序,因此我最终在我的应用程序中拥有“两个应用程序”。添加这个新的数据库实例后,如果用户需要对两个数据库实例的写入权限,我应该更改我的代码以使用默认应用程序以外的第二个应用程序进行身份验证。

【讨论】:

    猜你喜欢
    • 2018-08-02
    • 2020-11-25
    • 2018-12-12
    • 1970-01-01
    • 2021-05-25
    • 2020-02-04
    • 1970-01-01
    • 2019-02-14
    相关资源
    最近更新 更多