Мне нужна помощь в создании некоторых правил безопасности Firestore для работы с запросами в моем коде.Поэтому я попытался использовать HashMap, как показано ниже, «sharedWith» - это поле хеш-карты в моем документе:
...
sharedWith
abc@gmail.com : true
zzz@gmail.com : true
...
Мое правило безопасности, которое я попытался настроить, как показано ниже:
allow read: if isSignedIn() && resource.data.sharedWith[request.auth.token.email]=="true"
Что яЯ ожидаю, что произойдет, когда пользователь 'zzz' вошел в систему, этот пользователь должен иметь возможность прочитать этот документ (созданный другим пользователем)
Мой запрос выглядит следующим образом:
db.collection("Sites")
.whereEqualTo("sharedWith."+"zzz.@gmail.com",true)
.get()
.addOnSuccessListener { result -> ...
Где я иду не так, пожалуйста?
Ошибка, которую я получаю, выглядит следующим образом:
Прослушивание запросов (Сайты, где sharedWith. zzz@gmail
.com == истинный порядок имя ) не удалось: Статус {код = PERMISSION_DENIED, описание = Отсутствует или недостаточно разрешений., причина = ноль}