В моих документах есть поле «владелец», позволяющее читать документ только владельцу, и только новый документ, в котором поле «владелец» является идентификатором пользователя, может быть написано:
allow read: if request.auth.uid == resource.data.owner;
allow create, write : if request.auth.uid == request.resource.data.owner;
Правило создания и обновления работает, как и ожидалось! Я проверил и увидел, что если поле «владелец» записи в новых данных не является UID пользователя, то оно не работает!
Проблема в разделе «чтение». Я не мог читать записи. Только когда я сменил на allow read: request.auth.uid != null
, я смог читать. Я трижды проверил, что записи имеют поле «владелец», которое точно такое же, как и UID, также в отладке.
У меня есть опыт работы с Firebase, и я не знаю, в чем здесь проблема.