Firebase Realtime Database安全规则模拟器上的访问被拒绝

时间:2019-11-21 19:34:26

标签: firebase firebase-realtime-database firebase-security

对于我来说,很难理解为什么模拟器会把我拒之门外

我提供了此身份验证令牌正文:

{
  "account": "7xms2zm6noz03f2mvn",
  "playerId": "d3221a31-263c-4629-92fb-6cac89b67088"
}

我正在使用自定义身份验证来提供上述blob。

请参阅附件中的屏幕快照,以了解模拟器如何处理此问题:

enter image description here

firebase response

这是我的数据库树:

enter image description here

我想念什么?

1 个答案:

答案 0 :(得分:0)

看来,当您使用模拟器时,“身份验证令牌有效负载”实际上处于auth级别,而不是auth.token级别。

因此,您需要像这样模拟auth.token.account声明:

{
  "token": {
    "account": "7xms2zm6noz03f2mvn",
    "playerId": "d3221a31-263c-4629-92fb-6cac89b67088"
  }
}

您可以说出它的名称(显然)是错误的,因为例如,如果您选择“ Google”提供商,则provideruid都位于该Blob的顶层(可以(不会被修改),即where you would expect to find them

this image中的this blog post类似,token块在模拟器中显示为子块。