我使用角火在我的角度应用程序中与防火墙进行交互。不幸的是,在我在firebase控制台中设置了应用程序签入之后,在第一次与消防局的交互(请参阅下面的组件)之后,我在我的see浏览器的控制台中获得了ERROR FirebaseError: Missing or insufficient permissions.,下面是一些有用的信息,这些信息是我在angularfire repo中从我的票证中复制的。
版本信息
角:
@角-发展工具包/架构师0.1200.5 @角-发展工具包/构建-角12.2.13 @角-发展工具包/核心12.2.13 @角-发展工具包/原理图12.2.13 @原理图/角12.2.13 rxjs 6.6.7型标4.3.5
Firebase:
9.19.0
AngularFire:
7.2.0
其他(例如Ionic/Cordova、Node、浏览器、操作系统):
节点: 16.13.0
如何重现这些条件
在我的部分:
constructor(
private firestore: AngularFirestore,
) {}
ngOnInit(): void {
this.firestore
.collection('users')
.snapshotChanges()
.subscribe((documents) => {
this.userDocuments = documents;
})设置和复制的步骤
我在firebase控制台的项目下创建了一个firebase web应用程序。在app check选项卡中,我将recaptcha中的站点秘密粘贴到所需的字段中,所以现在看起来如下:

在我的app.module.ts里
imports: [
..
AngularFireModule.initializeApp(environment.firebase),
// // AppCheckModule,
provideFirebaseApp(() => initializeApp(environment.firebase)),
environment.useEmulators
? [AppCheckModule]
: provideAppCheck(() => {
const provider = new ReCaptchaV3Provider(environment.recaptcha);
return initializeAppCheck(getApp(), {
provider,
isTokenAutoRefreshEnabled: true,
});
}),
],在enviroment.ts中,我设置了recaptcha的密钥。此外,环境生产键被设置为true,因此isDevMode()返回false。有一个问题,即recaptcha需要一个调试令牌,否则。
示例数据和安全规则
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth.uid != null;
}
}
}调试输出
ERROR FirebaseError: Missing or insufficient permissions.
有人能给我个建议吗?
发布于 2021-12-08 11:16:01
直到几天前发布的JSSDK9.6才添加了Firestore的AppCheck。它现在为我工作
见此处:https://firebase.google.com/support/release-notes/js

https://stackoverflow.com/questions/70158010
复制相似问题