Правила безопасности базы данных Firestore работают только в симуляторе - PullRequest
0 голосов
/ 30 сентября 2019

Я настроил базу данных firestore и опубликовал некоторые правила безопасности для этой базы данных, используя firebase cli. Но правила работают только в симуляторе, со стороны клиента эти правила не работают. Даже если я запрещаю всем доступ на чтение / запись к базе данных, никакие изменения не отражаются на стороне клиента (используя клиентскую библиотеку firestore nodejs). Само нижеследующее правило не будет работать со стороны клиента.

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
   match /{document=**} {
      allow read, write: if false;
    }
  }
}

А в моем коде nodejs

  const {Firestore} = require('@google-cloud/firestore');
    const db = new Firestore();
    db.collection("users").add({
        usertype: req.body.usertype,
        email : req.body.email,
        fullname: req.body.fullname,             
        created_on : new Date()                    
    });

я могу добавлять новых пользователей в коллекцию пользователей, даже если я запрещаю доступ к базе данных, используяправила определены выше, но в симуляторе эти правила работают. Есть какие-то настройки или предварительные настройки, которые я пропускаю? Пожалуйста, помогите мне исправить то же самое.

1 Ответ

0 голосов
/ 30 сентября 2019

Все серверные SDK (включая "@ google-cloud / firestore" для узла) обходят правила безопасности. Правила применяются только при доступе через веб-клиенты или мобильные клиенты (например, Android, iOS, браузерный JavaScript) с использованием специальных SDK Firebase для этих платформ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...