【问题标题】:Cloud Firestore: Missing or insufficient permissionsCloud Firestore:缺少权限或权限不足
【发布时间】:2018-04-25 01:07:12
【问题描述】:

我正在(在 Android 上):

com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED:权限缺失或不足

使用这些安全规则:

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

我的应用似乎已使用 FirebaseAuth 正确验证,因为 mFirebaseAuth.getCurrentUser().getUid() 返回正确的用户 ID。

是不是我做错了什么?

【问题讨论】:

  • 这也发生在我身上。直到昨天一切正常,但从今天开始它一直返回权限错误。我检查了我的安全规则,没有任何问题。奇怪的行为是它有时会起作用,有时在完全相同的代码下不起作用。问题解决了吗?
  • 这种情况偶尔会发生在 web 和 react-native(firebase-ios-sdk) 上。问题应该出在 firestore 而不是客户端 sdk 上。

标签: android firebase firebase-authentication google-cloud-firestore


【解决方案1】:

编辑: 只想说我设法通过降级到 4.6.2 解决了这个问题。我有更多详情this post

预编辑: 自从我升级 react native 以来,这种情况就发生在我身上,我终生无法解决这个问题。我已经对其进行了调试,并且我的用户在请求时肯定已经过身份验证,我通过运行以下命令进行了检查,并且其中有一个 uid

firebase.auth().currentUser

所以接下来我想做的是检查实际请求中的会话,看看发生了什么。我在我的 react 应用的入口点添加了一段代码

XMLHttpRequest = GLOBAL.originalXMLHttpRequest ?
GLOBAL.originalXMLHttpRequest :
GLOBAL.XMLHttpRequest

当我运行这段代码时,它又神奇地工作了。这是通过浏览器委派请求,但可能不是真正的测试。

然后我启动了 Charles,并将我的新 react-native 构建的请求与我的旧 [工作] react-native 构建的请求进行了比较。不过,这些请求对我来说看起来是一样的(除了不同的 sessionId),所以我不知道。令人沮丧的是缺少通过 Firestore 控制台进行调试的工具。

我的直觉是说一些 auth 标头已过期/缓存,并且它不是 firestore。此时我的头撞在桌子上

【讨论】:

  • 使用firebase@4.6.2 也对我有用。谢谢你,永远不会想到这一点
  • 您好,我想知道您是否能够阐明这件事。看起来我在 react js 和 native 中也都有。 stackoverflow.com/questions/50929366/…
【解决方案2】:

这似乎是一个Firestore 问题(今天处于测试阶段),而不是在客户端。

【讨论】:

  • 仍然有这个问题(偶尔丢失或权限不足),更新了 Android SDK。您认为 Firestore 仍未解决此问题吗?
  • 我在一个小型 Angular 6 项目中使用 Firestore,但我仍然遇到我写的同样的问题。
【解决方案3】:

我直接询问了 Firebase 支持团队,因为这个问题对我们的服务至关重要,并且我收到了以下电子邮件。看来他们现在修复了这个错误。

如果问题再次发生,请告诉我。

你好,

我们刚刚与我们的工程师确认了这个零星问题 我们的 Firestore 安全规则是一个已知错误,但已经 今天修好了。请再次测试您的安全规则,如果 您仍然遇到问题。

问候,凯文

【讨论】:

  • 我现在遇到了这个问题。我今天早上能够提交数据 - 现在我不能。我没有更改任何内容并且收到此权限错误。我完全在我的使用限制范围内
猜你喜欢
  • 2019-02-26
  • 2022-01-25
  • 1970-01-01
  • 2020-09-01
  • 2021-12-31
  • 2021-08-24
  • 1970-01-01
  • 2020-09-08
  • 1970-01-01
相关资源
最近更新 更多