angular firestore 权限不足

angular firestore insufficient permission

在我的 angular 应用程序中使用 firebase 作为数据库,在 module.ts 中使用 angular/fire 将应用程序与 firebase 连接,并且 firebase 环境已完成,登录和注册工作正常,当用户在 firestore 中登录时,数据未获取,在控制台中抛出错误,当 firestore 规则更改以打开其工作正常时,当规则仅限于经过身份验证的用户时不工作。

> Error: core.js:6185 ERROR FirebaseError: Missing or insufficient
> permissions.
>     at new e (prebuilt-109c6673-0f51e182.js:188)
>     at prebuilt-109c6673-0f51e182.js:10416
>     at prebuilt-109c6673-0f51e182.js:10417
>     at e.onMessage (prebuilt-109c6673-0f51e182.js:10439)
>     at prebuilt-109c6673-0f51e182.js:10356
>     at prebuilt-109c6673-0f51e182.js:10387
>     at prebuilt-109c6673-0f51e182.js:15194
>     at ZoneDelegate.invoke (zone-evergreen.js:364)
>     at Zone.run (zone-evergreen.js:123)
>     at zone-evergreen.js:857

这是我的 Firestore 规则:

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

Angular代码:

import {AngularFireAuth} from '@angular/fire/auth' 
constructor(private Auth:AngularFireAuth) {}

login(AuthData:AuthData) {
    this.Auth.signInWithEmailAndPassword(AuthData.email,AuthData.password)
    .then().catch(error => {
        this.uiSer.snackBar(error.message,null,3000);
    })
}

数据获取代码:对 fetchsendExercise() 的调用是在必需的组件上完成的,所有其他必需的组件都已导入,它们工作正常。

import { AngularFirestore } from "@angular/fire/firestore";
    constructor(private db:AngularFirestore){}

   fetchsendExercise(){   
        
      this.db.collection('exercises').snapshotChanges().pipe(map(docArray=>{            
                    return docArray.map(doc=>{return{
            id:doc.payload.doc.id,
            name:doc.payload.doc.data().name,
            duration:doc.payload.doc.data().duration,
            calories:doc.payload.doc.data().calories

        }
    })         
}))
.subscribe((data:Exercise[])=>{this.availableExercise=data
        this.fetchExercise.next([...this.availableExercise])
        this.ui.exerciseLoading.next(false);
        })
        
    }

我找到了我的问题的解决方案,这是最新的 firebase 的错误,回滚到以前的版本后它工作正常,运行 npm i firebase@8.6.1