Ошибка 7: отсутствует или недостаточно разрешений облачных функций / firestore - PullRequest
0 голосов
/ 05 февраля 2020

Я пишу приложение, используя firebase в качестве бэкэнда, и пытаюсь записать в базу данных, но получаю «Ошибка 7: отсутствуют или недостаточно разрешений». Кто-то сказал мне, что облачные функции обходят разрешения firebase, поэтому я не уверен, что может быть причиной этой ошибки. Может кто-нибудь, пожалуйста, посмотрите?

Вот мои разрешения:

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

, а вот мой код:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
var express = require('express');
admin.initializeApp(functions.config().firebase);

const app = express();

let db = admin.firestore();

app.get('/helloworld', (req, res) => res.send('Hello World!'));

app.post('/signup', (req, res) => {


  var email = req.body.email;
  var username = req.body.username;
  var password = req.body.password;


  //creating document.  Here is where it isn't working

  let docRef = db.collection('UsersMain').doc('firstdoc');

    let data = {
    Email: 'a@gmail.com',
    UserName: 'Matt'
  };

  let setDoc = docRef.set(data).then(() =>  {
    res.send('Login Complete');
  })
  .catch(function(error) {
    console.error("Error adding document: ", error);
});

});



const api1 = functions.https.onRequest(app);

module.exports = {api1};

и вот ошибка, я Получение:

{ Error: 7 PERMISSION_DENIED: Missing or insufficient permissions.
>      at Object.callErrorFromStatus (/Users/mg8686./Desktop/mattsapp/mattsappfinal/backend/functions/node_modules/@grpc/grpc-js/build/src/call.js:30:26)
>      at Http2CallStream.call.on (/Users/mg8686./Desktop/mattsapp/mattsappfinal/backend/functions/node_modules/@grpc/grpc-js/build/src/client.js:96:33)
>      at Http2CallStream.emit (events.js:203:15)
>      at process.nextTick (/Users/mg8686./Desktop/mattsapp/mattsappfinal/backend/functions/node_modules/@grpc/grpc-js/build/src/call-stream.js:97:22)
>      at process._tickCallback (internal/process/next_tick.js:61:11)
>    code: 7,
>    details: 'Missing or insufficient permissions.',
>    metadata: Metadata { internalRepr: Map {}, options: {} } }


Может кто-нибудь, пожалуйста, посмотрите? Спасибо!

Ответы [ 2 ]

0 голосов
/ 06 февраля 2020

@ Решение Matias Seguel для меня сработало, перечисленное здесь: Облачные функции Firebase Firestore Trigger выдает: Ошибка: 7 PERMISSION_DENIED: Отсутствует или недостаточно разрешений

Это не отличное производственное решение, но в целях разработки это работает.

0 голосов
/ 05 февраля 2020

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

Например, есть простое решение, которое может помочь вам на мгновение , но это не очень рекомендуется, так как используется приведенная ниже конфигурация:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

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

Дайте мне знать, помогла ли вам информация!

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