即使身份验证成功,Firebase也会拒绝权限

时间:2019-04-11 15:32:43

标签: firebase permissions firebase-authentication

成功使用auth.signInWithEmailAndPassword,我仍然没有获得访问数据库的权限。

这应该是从数据库数据生成PDF的后端脚本。使用不同的脚本+网站生成数据并可以正常工作。 我已经将该代码与该代码进行了交叉引用,它将无法正常工作。试图取消承诺,将无法正常工作。尝试扩大诺言并兑现诺言,将行不通。

// simplified, successful auth with predefined, working email and password
auth.signInWithEmailAndPassword(email, password);


// this bit causes the error messages
db.collection('redacted').get()
  .then((snapshot) => {
    snapshot.forEach((doc) => {
      console.log('success');
    });
  })
  .catch((err) => {
    console.log('Error getting documents', err);
  });

我希望在控制台中获得不错的“成功”,反而得到:

(node:4892) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead
Error getting documents { FirebaseError: Missing or insufficient permissions.
    at new FirestoreError (.\firebaseTest\node_modules\@firebase\firestore\dist\index.node.cjs.js:353:28)
    at JsonProtoSerializer.fromRpcStatus (.\firebaseTest\node_modules\@firebase\firestore\dist\index.node.cjs.js:5772:16)
    at JsonProtoSerializer.fromWatchChange (.\firebaseTest\node_modules\@firebase\firestore\dist\index.node.cjs.js:6269:44)
    at PersistentListenStream.onMessage (.\firebaseTest\node_modules\@firebase\firestore\dist\index.node.cjs.js:14819:43)
    at .\firebaseTest\node_modules\@firebase\firestore\dist\index.node.cjs.js:14748:30
    at .\firebaseTest\node_modules\@firebase\firestore\dist\index.node.cjs.js:14788:28
    at .\firebaseTest\node_modules\@firebase\firestore\dist\index.node.cjs.js:7541:20
    at process._tickCallback (internal/process/next_tick.js:68:7)
  code: 'permission-denied',
  name: 'FirebaseError',
  toString: [Function] }

请帮助。

2 个答案:

答案 0 :(得分:0)

在Firebase控制台上检查您的规则,可能您的用户无权访问请求的路径。

答案 1 :(得分:0)

登录后,您需要致电db.collection('')

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
.. your code goes here.
  } 
}

在此处找到更多信息:https://firebase.google.com/docs/auth/web/start