Firebase 用户 UID 与身份验证 UID 不匹配

2024-01-22

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

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

这是 Firebase 身份验证仪表板中显示的用户 UID:

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

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

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

UPDATE:

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

这可能是实际的身份验证 UID(我对此很陌生,所以仍在尝试弄清楚是什么):

在本例中,此 UID 与 Firebase 控制台中看到的 UID 相匹配。如果它们匹配,那么导致权限被拒绝错误的原因是什么?

另一个更新:

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


这是你现在可以执行的规则

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

如果你想检查如下

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

您需要在注册时将用户存储到实时数据库中。和他们的auth.uid as key.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase 用户 UID 与身份验证 UID 不匹配 的相关文章

随机推荐