Я не разработчик, который ищет руководство по правилам безопасности для проекта Firestore.
Скриншот базы данных Firestore:
Каждый документ в коллекции Swaps должен быть доступен только двум пользователям, дарителю и получателю.
Чтобы иметь возможность создавать новый документ в Swaps коллекция, пользователь должен назначить себя в качестве получателя, что означает, что аутентифицированный ИД пользователя должен совпадать с ReceiverID запроса.
Однако, как дающий, так и получатель должны быть разрешены Обновить, прочитать и удалить документ. Для этого я хочу сопоставить получателя с ReceiverID документа подкачки и подающего с GiverID
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /Swaps/{document=**} {
allow read: if request.auth.uid == resource.data.GiverID;
allow update: if request.auth.uid == resource.data.GiverID;
allow delete: if request.auth.uid ==resource.data.GiverID;
allow read: if request.auth.uid == resource.data.ReceiverID;
allow update: if request.auth.uid == resource.data.ReceiverID;
allow delete: if request.auth.uid == resource.data.ReceiverID;
allow create: if request.auth.uid == request.resource.data.ReceiverID;
}
документа подкачки. В настоящее время это единственное правило, швы для работы это создать. Чтение, обновление и удаление не работают ни для дающего, ни для получателя.