【发布时间】:2018-04-08 05:05:47
【问题描述】:
我是使用 Firebase 的新手(我正在使用 react-redux-firebase,但不确定这是否与这个问题有关)。我在使用这些标准身份验证规则时遇到问题:
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
这是 Firebase 身份验证仪表板中显示的用户 UID:
但如果我打印出与个人资料/帐户关联的数据,我会得到这个 UID:
由于这种不匹配,登录用户无法读取或写入 firebase 实例。
为什么 UID 不匹配?我该如何解决这个问题?
更新:
看起来1091103… UID 是特定于提供商的,在这种情况下不相关?无法确定。
这可能是实际的身份验证 UID(我是新手,所以仍在尝试弄清楚是什么):
在这种情况下,此 UID 与 Firebase 控制台中的显示相匹配。如果它们匹配,那么权限被拒绝错误的原因是什么?
另一个更新:
这是用户节点。您可以将 UID 视为键:
【问题讨论】:
-
我认为这是
Provider-specific UID形式的谷歌登录。不是身份验证 UID -
在
users下检查您是否列出了正确的auth UID,否则您将错误的UID 保存到users数据库 -
看起来他们匹配。查看 Firebase 数据库,没有 UID 不匹配。因此,在这种情况下,我不确定为什么会出现权限被拒绝错误。更新了我的问题以反映这一点。
-
您的用户集合看起来如何?或提供编写用户的代码。
-
你是用
.push写信给users吗?
标签: firebase