【发布时间】:2019-04-11 15:32:42
【问题描述】:
使用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] }
请帮忙。
【问题讨论】:
-
你能发布你的firestore规则吗?
-
允许读、写:if request.auth.uid != null;
标签: firebase permissions firebase-authentication