用于“机密”url共享的Firebase实时数据库规则

用于“机密”url共享的Firebase实时数据库规则,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,我正在玩一个简单的web应用程序,它使用JS与Firebase实时数据库交互,看起来像这样: { "some-collection": { "some-obscure-long-uuid": { "name": { "info_1": "foo", "info_2": "bar" } }, "some-other-obscure-long-uuid": { "name": { "inf

我正在玩一个简单的web应用程序,它使用JS与Firebase实时数据库交互,看起来像这样:

{
  "some-collection": {
    "some-obscure-long-uuid": {
      "name": {
        "info_1": "foo",
        "info_2": "bar"
      }
    },
    "some-other-obscure-long-uuid": {
      "name": {
        "info_1": "foo",
        "info_2": "bar"
      }
    }
  }
}
其想法不是使用任何形式的身份验证,而是允许用户获得一个随机的可共享链接,比如www.myapp.com/some-underse-long-uuid/index.html,以便其他人能够实时查看和执行更改。考虑到这一点,我试图找到一套规则:

不要公开揭露某个收藏的孩子 向任何拥有秘密URL www.myapp.com/some-underse-long-uuid/index.html的人授予对某个模糊长uuid子项的读写权限
我已经阅读了文档,并怀疑这可以通过使用newData变量来实现,但我无法了解如何使用它。希望这是有意义的,非常感谢

我不确定我是否理解正确,但下面应该为试图读取或写入某个集合/[某个模糊的长uuid]路径的任何人提供读写访问权限,并且您的某个集合父级将不会在没有任何人指定完整路径的情况下被查询

{
 "rules": {
    "some-collection": {
       ".read": "false",
       ".write": "false",
       "$some-obscure-long-uuid": {
         ".read": "true",
         ".write": "true",
       }
    }
  }
}

这正是我想要的,对不起,问题可能有点不清楚!