【问题标题】:Error in editing real time data base rules编辑实时数据库规则时出错
【发布时间】:2020-12-21 12:56:12
【问题描述】:

我完全按照火力基础文档中提供的详细信息进行了复制 enter link description here 用于编辑规则,因为我收到了来自 firebase 的邮件,我的客户将无法访问数据。但是我曾经做过什么,我得到了一个错误,比如“错误保存规则 - 第 4 行:预期的 ',' 或 '}'。

我复制的代码如下所示

{
  "rules": {
    "some_path/${uid}": {
      ".read": true,
      // or ".read": "auth.uid != null" 
      ".write": "request.auth.uid == uid"
    }
  }
}

我也尝试了文档中的一些其他代码,但结果是一样的.. 谁能告诉我这段代码有什么问题

【问题讨论】:

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


    【解决方案1】:

    通配符规则的语法错误。带有$ 的规则需要在自己的级别中。

    所以:

    {
      "rules": {
        "some_path": {
          "$uid": {
            ".read": true,
            ".write": "request.auth.uid == $uid"
          }
        }
      }
    }
    

    请注意,当您尝试使用名为 $uid 的变量时,我还在写入规则中添加了$。在那里。

    【讨论】:

      【解决方案2】:
      {
        "rules": {
          "some_path/${uid}": {
            ".read": //Your Condition,
            ".write": //Your Condition
          }
        }
      }
      

      【讨论】:

      • 我已经复制了链接中的firebase文档中所示的内容,实际上应该可以正常工作吗?为什么那不起作用...
      • 你复制了 3 个中的哪个?
      • 我尝试了仅使用此代码的内容所有者 { "rules": { "some_path": { "$uid": { // 只允许经过身份验证的内容所有者访问他们的数据 ".read": "request.auth != null && request.auth.uid == $uid" ".write": "request.auth != null && request.auth.uid == $uid" } } } } 和混合公共和私有按照firebase.google.com/docs/rules/insecure-rules中的文档提供的访问权限@
      • 仅适用于实时数据库
      • @sadasivanParameshwaran 您是否将 some_path/${uid} 更改为各自的路径并尝试过?
      猜你喜欢
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 2018-07-27
      • 2021-01-31
      • 1970-01-01
      相关资源
      最近更新 更多