Javascript Firebase实时数据库-客户端不';我没有访问所需数据的权限

Javascript Firebase实时数据库-客户端不';我没有访问所需数据的权限,javascript,angular,ionic-framework,firebase-realtime-database,firebase-security,Javascript,Angular,Ionic Framework,Firebase Realtime Database,Firebase Security,我有一个应用程序(2)调用Firebase实时数据库中的某个对象。它在访问规则和匿名身份验证方面运行良好。但是在一些模块更新之后(不知道这是否是问题所在),我在调用db时被拒绝了权限。 这在网络和ios/android上都发生了。 我已经阅读了谷歌和这里的所有页面。但主要问题是实时数据库上的firestore规则,或者通过将.read/.write rules设置为true来解决 这是在创建或登录用户时在OnInit()上调用的身份验证,将调用continueLoad() async login

我有一个应用程序(2)调用Firebase实时数据库中的某个对象。它在访问规则和匿名身份验证方面运行良好。但是在一些模块更新之后(不知道这是否是问题所在),我在调用db时被拒绝了权限。 这在网络和ios/android上都发生了。 我已经阅读了谷歌和这里的所有页面。但主要问题是实时数据库上的firestore规则,或者通过将.read/.write rules设置为true来解决

这是在创建或登录用户时在OnInit()上调用的身份验证,将调用continueLoad()

async loginAndLoad() {
  // create anonymous user if not exists and/or log in
 await this.fireauth.signInAnonymously().catch((error) => {
     console.log('Login error: ' + error.code);
     console.log('Login error message: ' + error.message);
  });
 // trigger state change, when user is logged in
  this.fireauth.onAuthStateChanged((user) => {
 
    if (user.isAnonymous) {
      var isAnonymous = user.isAnonymous;
      var uid = user.uid;
      console.log('User added: ' + isAnonymous);
      console.log('User uid: ' + uid);
      // We have a signed in user, go on.. Else throw error
         this.continueLoad();
    } else {
          this.loginAndLoad();
        }
  });
}
数据库调用示例,我从这个.continueLoad()调用了这个:

这是实时数据库规则:

{
  "rules": {
    ".write": "!data.exists()",
    "products": {
        ".read": "auth.uid != null",
        ".write": "auth.uid != null",
        ".indexOn": ["stats", "status", "user_warn", "image_approved", "image_added", "note", "description","title","date_published","date_edited","date_added"]
    },
    "searchwords": {
        ".read": "auth.uid != null",
        ".write": "auth.uid != null"  
    },
    "users": {
        ".read": "auth.uid != null",
        ".write": "auth.uid != null && auth.provider != 'anonymous'"
    },
    "settings": {
        ".read": "auth.uid != null",
        ".write": "auth.uid != null && auth.provider != 'anonymous'"
    },
    "routes": {
        ".read": "auth.uid != null",
        ".write": "auth.uid != null && auth.provider != 'anonymous'"
    },
    "campaigns": {
        ".read": "auth.uid != null",
        ".write": "auth.uid != null && auth.provider != 'anonymous'"
    }  
  }
}
以下是离子信息:

Ionic:

   Ionic CLI                     : 6.16.1 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.6.7
   @angular-devkit/build-angular : 0.1100.7
   @angular-devkit/schematics    : 11.0.7
   @angular/cli                  : 11.0.7
   @ionic/angular-toolkit        : 3.1.1

Capacitor:

   Capacitor CLI      : 2.4.6
   @capacitor/android : 2.4.7
   @capacitor/core    : 2.4.6
   @capacitor/ios     : 2.4.7

Utility:

   cordova-res : 0.15.3
   native-run  : 1.3.0

System:

   NodeJS : v14.17.0 (/usr/local/bin/node)
   npm    : 6.14.13
   OS     : macOS Big Sur

这太令人沮丧了。。。希望有人对这个问题有一个合乎逻辑的想法:)

我终于找到了问题。正如前面提到的,som插件已经更新。(尝试新插件后)。 所以在数小时的调试之后。我降级到Firebase 8.1.2和@angular/fire 6.1.5,一切又恢复正常

Ionic:

   Ionic CLI                     : 6.16.1 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 5.6.7
   @angular-devkit/build-angular : 0.1100.7
   @angular-devkit/schematics    : 11.0.7
   @angular/cli                  : 11.0.7
   @ionic/angular-toolkit        : 3.1.1

Capacitor:

   Capacitor CLI      : 2.4.6
   @capacitor/android : 2.4.7
   @capacitor/core    : 2.4.6
   @capacitor/ios     : 2.4.7

Utility:

   cordova-res : 0.15.3
   native-run  : 1.3.0

System:

   NodeJS : v14.17.0 (/usr/local/bin/node)
   npm    : 6.14.13
   OS     : macOS Big Sur