Да, это на самом деле довольно легко. Чтобы контролировать доступ к документам, используйте правила безопасности Firebase для Firestore .
По умолчанию ваши правила безопасности будут read
и write
, но на самом деле их можно разбить на больше гранулярных операций get
, list
, create
и update
. И вы пытаетесь разрешить get
, но не list
операцию. Из документации:
service cloud.firestore {
match /databases/{database}/documents {
// A read rule can be divided into get and list rules
match /cities/{city} {
// Applies to single document read requests
allow get: if <condition>;
// Applies to queries and collection read requests
allow list: if <condition>;
}
...
Так что разрешить get
для всех и запретить list
звонки:
allow get: if true;
allow list: if false;
Возможно, вы захотите уточнить немного по правилу allow get
, потому что более распространено его ограничение, например, для пользователей, вошедших в ваш проект с помощью аутентификации Firebase:
allow get: if request.auth.uid != null;
https://firebase.google.com/docs/firestore/security/rules-query