У меня был нормально работающий проект Gatsby / firebase, и я остался на неделю, ничего не меняя. Теперь я только что вернулся, чтобы обновить кое-что, и у меня появляется следующая ошибка:
index.js:2177 FirebaseError: Missing or insufficient permissions.
at new FirestoreError (http://localhost:8000/commons.js:4331:28)
at JsonProtoSerializer../node_modules/@firebase/firestore/dist/index.esm.js.JsonProtoSerializer.fromRpcStatus (http://localhost:8000/commons.js:19005:16)
at JsonProtoSerializer../node_modules/@firebase/firestore/dist/index.esm.js.JsonProtoSerializer.fromWatchChange (http://localhost:8000/commons.js:19502:44)
at PersistentListenStream../node_modules/@firebase/firestore/dist/index.esm.js.PersistentListenStream.onMessage (http://localhost:8000/commons.js:15457:43)
at http://localhost:8000/commons.js:15386:30
at http://localhost:8000/commons.js:15426:28
at http://localhost:8000/commons.js:5669:20
Я подумал, что у меня может быть какая-то ошибка в моих правилах firebase, тогда я изменил ее на public:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
И я все еще получаю ту же ошибку. Я попытался:
- обновить npm-зависимости
- очистить хранилище приложения
-gatsby clean
и ничего из этого не работает. Аутентификация firebase работает нормально. Любые предположения, где проблема может быть?
РЕДАКТИРОВАТЬ: я использую саг для чтения кода:
firebase.js
...
export const authRef = function() {
return firebase.auth();
}
export const firestoreRef = function() {
return firebase.firestore();
}
...
import {firestoreRef, authRef} from './firebase';
function* loadProjectsData() {
try {
const firestore = firestoreRef();
const userId = authRef().currentUser.uid;
const query =
firestoreRef()
.collection('projects')
const snap = yield call(
[
query,
query.get
]
);
} catch(error) {
console.error(error);
}
}