首页 > 解决方案 > Angular & AngularFire & Firebase - singOut 权限不足或权限不足

问题描述

当前设置有问题。实施了firebase规则(在哪里打开)并且它破坏了我的signOut方法。原始规则集是

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
} 

这不会产生错误。但是,以下生产规则确实

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

为 firebsae 产生此错误的函数是

this.afAuth.auth.signOut()

通过研究其他答案和类似问题,我尝试将 firebase 降级到 4.6.2,将 AngularFire 降级到 5.0.0.rc5-next,这解决了其他问题,但没有解决我的问题。也升级到最新版本的两个和仍然相同的问题。

还启用了firebase调试并得到以下错误

Firestore (5.0.4) 2018-07-19T18:38:29.488Z [Connection]: WebChannel received: {"targetChange":{"cause":{"code":7,"message":"Missing or insufficient permissions."},"targetChangeType":"REMOVE","targetIds":[2]}}

其他答案还包括在 signOut() 方法之前的以下几行,但仍然没有喜悦

firebase.database().goOffline();
this.db.database.goOffline();

在这一点上,我可以实施开放的 Firebase 规则,或者不调用 this.afAuth.auth.signOut() 并给出选择,并且没有多少人会注销应用程序然后作为另一个用户登录,我可能会那样做但只是想问在我这样做之前是否还有其他人可以提出建议。

标签: angularfirebaseangularfire

解决方案


推荐阅读