在授予删除Firestore规则的权限时出现问题

时间:2020-04-15 03:00:24

标签: javascript firebase google-cloud-firestore firebase-security

当前,我遇到以下问题...我尝试授予删除权限,这是不可能的,它给了我不足的权限

rules_version = '2';

function isAdmin(request) {
  return request.auth.uid == 'UID-ADMIN'
}
function sameUser(request, resource) {
  return request.auth.uid == resource.data.uid
}

match /accounts/{account} {
 allow create: if request.auth.uid != null;
 allow read, delete: if sameUser(request, resource) || isAdmin(request);
}

// return Missing or insufficient permissions. Only try delete

我不明白为什么阅读会毫无问题,但是在尝试消除时却收到错误消息...

我尝试过...

// return Missing or insufficient permissions.

allow read, delete: if sameUser(request, resource) || isAdmin(request);
// -
allow delete: if sameUser(request, resource));
// -
allow delete: if request.auth.uid == resource.data.uid

现在,为什么应用相同的规则可以让我阅读,但不让我删除?这是错的?

这是我经常收到的错误:

FirebaseError: Missing or insufficient permissions.
    at new FirestoreError (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:351:28)
    at JsonProtoSerializer.fromRpcStatus (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:15666:16)
    at JsonProtoSerializer.fromWatchChange (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:16179:44)
    at PersistentListenStream.onMessage (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:12804:43)
    at eval (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:12733:30)
    at eval (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:12773:28)
    at eval (webpack-internal:///./node_modules/@firebase/firestore/dist/index.cjs.js:1694:20)

0 个答案:

没有答案