我正在编写Firebase规则,以允许用户a访问用户b'测试'属性:
"Test": {
".read":"root.child('Users').child(auth.uid).child('Test').child('subtest').val().contains('xxxxxxxxxxxxxxxxMdv3wQRjIs2')",
}
刚才发现规则检查请求者(用户a)而不是目标用户b(可能是错误的:))。
有没有办法编写规则来代表目标用户,例如' auth.uid'对于请求者?
或者可以在目标用户级别完成任何事情吗?
答案 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",