Недавно я работал с React и Firebase, чтобы создать проект, в котором мне нужно было бы найти определенные c документы в моей коллекции на основе их полей.
В настоящее время единственный способ сделать это следующим образом:
let ref = myFirebase.firestore().collection("Users");
let refQuery = ref.where('Token', '==', userUID);
Это даст мне результат, который я ищу, но в моих правилах мне придется разрешить моему пользователю allow list
или allow read
для коллекции Users
. Насколько я понимаю, это будет потенциальная опасность, потому что я разрешаю пользователю go через всех пользователей в моей коллекции. Вместо этого я хочу, чтобы мои правила оставались равными allow get
, поэтому только пользователь может получить свою собственную информацию, но она не будет работать с моим кодом запроса выше.
В любом случае я могу изменить свой Реагируйте на код запроса, чтобы мои правила в моей коллекции Users
были доступны только для allow get
?
Вот фрагмент из моих правил, который я хочу реализовать:
match /Users/{UsersDoc} {
allow create: if request.auth.uid != null;
allow update, delete, get: if request.auth.uid == resource.data.Token;
}