Как правило, вы будете хранить профиль каждого пользователя под ключом, который имеет значение их UID аутентификации Firebase.Итак:
{
"profiles": {
"uidOfUser1": {
"id" : "1",
"name" : "test1"
}
"uidOfUser2": {
"id" : "2",
"name" : "test2"
}
}
}
В этом случае вы можете защитить его следующими правилами:
{
"rules": {
"profiles": {
"$user_id": {
// grants read access to the owner of this user account
// whose uid must exactly match the key ($user_id)
".read": "$user_id === auth.uid"
}
}
}
}
В правилах безопасности значение auth.uid
- это UID пользователя, который в данный моментвошел в Firebase Authentication.Подделать это значение невозможно, поэтому это отличный способ обеспечить доступ к данным.Вышеуказанные правила позволяют пользователю читать определенный профиль, когда его auth.uid
соответствует ключу профиля.Так что uidOfUser1
или uidOfUser2
.
Также ознакомьтесь с документацией Firebase по защите пользовательских данных , которая описывает ее более подробно.