是否可以访问Firebase规则的密钥?

时间:2017-01-12 19:46:55

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

数据:

 invitations:{
    user1:{
       group1: true
    }
 }   

新数据:

connectedGroups:{
   user1:{
     group1: true
   }
}     

规则:

connectedGroups:{
   ".read": "auth != null",
   "$newUser":{
      ".write": "auth.uid == $newUser &&//group in new data == group in invitations
    }
}

我一直在努力研究如何比较这些键。它甚至可能还是我需要重构我的数据?

1 个答案:

答案 0 :(得分:3)

使用parentchild的{​​{1}}和data功能查找其他媒体资源:

newData

"connectedGroups": { ".read": "auth != null", "$newUser": { ".write": "auth.uid == $newUser", "$newGroup": { ".validate": "newData.val() == true && data.parent().child('invitations').child($newUser).child($newGroup) == true" } } } 规则检查路径validate是否已存在且包含/invitations/$newUser/$newGroup(假设trueinvitations都是顶级路径)< / p>

有关详细信息,请参阅the docs on Security & Rules。 使用Bolt(beta)可以更简单地编写这些路径查找和类型检查规则。