获取错误:Firestore:调用者没有执行指定操作的权限。但是,我已经签署了在

时间:2019-02-01 12:24:50

标签: react-native react-native-firebase

我遇到了这个问题,并尝试使用我发现的所有解决方案进行修复,但仍然无法正常工作。我在火力云公司的FireStore规则是:

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

我已经匿名启用了登录方法。

Android

android/build.gradle
        classpath 'com.android.tools.build:gradle:3.1.3'
        classpath 'com.google.gms:google-services:4.0.1'
android/app/build.gradle
    compile project(':react-native-firebase')
    compile project(':react-native-fbsdk')
    implementation project(':react-native-firebase')
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
    implementation "com.facebook.react:react-native:+"  // From node_modules

    implementation 'com.google.firebase:firebase-core:16.0.4'
    implementation 'com.google.firebase:firebase-auth:16.0.4'
    implementation 'com.google.firebase:firebase-firestore:17.1.0'
Testing.js
firebase.auth().signInAnonymously().then(()=>{
        firebase.app().firestore().collection('Hello').doc('hello').set({
          id:'fadsa'
        }).catch((err)=>{
          alert(err);
        })
      })

3 个答案:

答案 0 :(得分:2)

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

更改为此

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

答案 1 :(得分:1)

这是一个问题,因为您的数据库当前具有规则。请同时检查日期数据库,实时数据库和Firestore。

通常,拥有完整的安全规则或RD或CF逻辑不能完全理解的任何其他规则,每次都会给您带来该错误。

> // Full security
> 
> {   "rules": {
>     ".read": false,
>     ".write": false   } }

在Firestore中,您可以将其配置为以下内容:

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

有关更多示例,请参见: https://gist.github.com/codediodeio/6dbce1305b9556c2136492522e2100f6 https://firebase.google.com/docs/database/security

答案 2 :(得分:0)

在 Firestore 控制台上更新您的规则文件。 将读写权限设置为 true。