firebase_database/permission-denied 错误仅在 Play 商店

问题描述 投票:0回答:1

在过去 2 天中,我们的移动应用程序的 Play 商店用户一直收到以下 Firebase 权限错误,即使我上次更新 Firebase 规则是在一周前。如果规则有问题,错误应该是从上周五开始的。被拒绝访问的“备份”的规则在过去两年中没有改变,并且到目前为止一直运行良好:

[firebase_database/permission-denied] 客户端无权访问所需数据。

我尝试重新创建该错误,但仅当通过 Google Play 商店安装该应用程序时才会发生该错误。否则,可以毫无错误地访问数据。

以下是我正在使用的 Firebase 规则:

  "rules": {
    "backups": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    },
    "backups_secondary": {
      "$uid": {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }
    },
    "profiles": {
      ".read": "auth != null",
      "$uid": {
        ".write": "$uid === auth.uid"
      },
      ".indexOn": ["timestamp", "lastUpdateTimestamp"]
    }
  }
}

我认为该问题可能是由于 $uid 和 auth.uid 之间不匹配造成的,但用户仍然可以更新其“个人资料”数据并读取“个人资料”数据。即使我设置对“备份”的访问权限以便任何人都可以访问它(如下所示),我仍然收到权限错误。

  "rules": {
    "backups": {
      ".read": true,
      ".write": true
    },
    "backups_secondary": {
      ".read": true,
      ".write": true
    },
    "profiles": {
      ".read": "auth != null",
      "$uid": {
        ".write": "$uid === auth.uid"
      },
      ".indexOn": ["timestamp", "lastUpdateTimestamp"]
    }
  }
}

Play商店用户只有在规则完全开放的情况下才能访问“备份”:

  "rules": {
    ".read": true,
    ".write": true
  }
}

其他注意事项:

  • 应用程序签名通过 Google Play 处理。我已检查 Firebase 项目设置中是否列出了 SHA 证书指纹。
  • 一位 Play 商店用户报告说,该应用程序对他们来说运行良好。 没有权限错误。
firebase-realtime-database google-play
1个回答
0
投票

只需检查它是否是最新的,或者更新依赖项并确保生产中的 firebase 而不是测试中的

© www.soinside.com 2019 - 2024. All rights reserved.