在我的iOS应用中,用户创建的用户名与Twitter用户名具有相似的特征。一旦被识别为唯一,它将使用具有以下签名的updateChildValues持久保存到数据库:(用户名是示例中的JogBloggs)。
["usernames/": ["joebloggs: \(user.uid)"]]
在我的fb数据库的安全规则中,我想创建一个规则,确保上传的uid与当前用户的uid相同。我怎么能输入安全规则来确保这一点?我的尝试,下面,不起作用。
"root.child('usernames').child(newData.val()).val() == auth.uid"
我的数据库中有以下结构
这些规则与:
相关联干杯
答案 0 :(得分:1)
好的,如果可以,那么我会删除这个问题!! 答案非常复杂和具有挑战性......
newData.val() == auth.uid
完整结构,正确答案如下
"usernames": {
".read": "auth != null",
".write": "auth != null && auth.token.name == null",
"$username": {
".validate": "$username.length >= 1 && $username.length <= 15 &&
!root.child('usernames').child(newData.val().toLowerCase()).exists() &&
newData.val() == auth.uid"
}
}