Firebase用户UID与Auth UID不匹配

时间:2017-10-26 17:46:26

标签: firebase

我是使用Firebase的新手(我正在使用react-redux-firebase,但不确定这是否与此问题相关)。我在使用这些标准身份验证规则时遇到了问题:

{
   "rules": {
      "users": {
         "$uid": {
            ".read": "$uid === auth.uid",
            ".write": "$uid === auth.uid"
         }
      }
   }
}

这是用户UID,如Firebase身份验证信息中心中所示:

enter image description here

但是如果我打印出与个人资料/帐户相关的数据,我会得到这个UID:

enter image description here

由于这种不匹配,登录用户无法读取或写入firebase实例。

enter image description here

为什么UID不匹配?我该如何解决这个问题?

更新:

看起来1091103… UID是特定于提供商的,在这种情况下不相关?无法确认这一点。

这可能是实际的身份验证UID(我是新手,所以仍然试图弄清楚是什么):

enter image description here

在这种情况下,此UID与Firebase控制台中显示的内容相匹配。如果它们匹配,那么许可被拒绝的原因是什么?

另一个更新:

这是用户节点。您可以将UID视为关键:

enter image description here

1 个答案:

答案 0 :(得分:0)

这是你现在可以做的规则

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

如果你想检查如下

{
   "rules": {
      "users": {
         "$uid": {
            ".read": "$uid === auth.uid",
            ".write": "$uid === auth.uid"
         }
      }
   }
}

您需要在注册时将用户存储到实时数据库。以auth.uid为关键。