Разрешения на запуск в Firestore - PullRequest
0 голосов
/ 04 сентября 2018

Мне удалось установить разрешения для моей базы данных Firestore, логика, лежащая в основе правила, заключается в том, что пользователи должны быть аутентифицированы на и принадлежать определенному домену .

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if isUserAndSignedIn();
    }
  }

  function isUserAndSignedIn(){
    return request.auth != null && request.auth.token.email.matches('.*@domain[.]com')
  }
}

Правило работает нормально для операций CRUD, как и ожидалось, но не работает для триггеров, в моем случае я получаю следующую ошибку при выполнении триггера (облачная функция):

FirebaseError: Missing or insufficient permissions.
    at new FirestoreError (/srv/node_modules/@firebase/firestore/dist/index.node.cjs.js:348:28)
    at JsonProtoSerializer.fromRpcStatus (/srv/node_modules/@firebase/firestore/dist/index.node.cjs.js:5385:16)
    at JsonProtoSerializer.fromWatchChange (/srv/node_modules/@firebase/firestore/dist/index.node.cjs.js:5883:44)
    at PersistentListenStream.onMessage (/srv/node_modules/@firebase/firestore/dist/index.node.cjs.js:14779:43)
    at /srv/node_modules/@firebase/firestore/dist/index.node.cjs.js:14708:30
    at /srv/node_modules/@firebase/firestore/dist/index.node.cjs.js:14748:28
    at /srv/node_modules/@firebase/firestore/dist/index.node.cjs.js:10612:20
    at <anonymous>
    at process._tickDomainCallback (internal/process/next_tick.js:228:7)

Любая идея, как я могу решить это в правиле? как обойти триггер при выполнении правил для базы данных?

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