Firebase规则获取目标用户uid

时间:2017-10-22 00:12:16

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

我正在编写Firebase规则,以允许用户a访问用户b'测试'属性:

"Test": {
    ".read":"root.child('Users').child(auth.uid).child('Test').child('subtest').val().contains('xxxxxxxxxxxxxxxxMdv3wQRjIs2')",
}

刚才发现规则检查请求者(用户a)而不是目标用户b(可能是错误的:))。

有没有办法编写规则来代表目标用户,例如' auth.uid'对于请求者?

或者可以在目标用户级别完成任何事情吗?

2 个答案:

答案 0 :(得分:0)

这可以让你获得用户的UID:

let userID = FIRAuth.auth()!.currentUser!.uid

答案 1 :(得分:0)

这是你想要做的吗?

"$target":{
        ".write": "root.child('path').val() == 'Value'"
      }

"Users": { //Path to where you store your users (case sensitive)
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    }

编辑:OP使用".read": "data.child('allowed').val() == auth.uid",

找到了解决方案
相关问题