我刚开始使用Firebase (我正在使用react-redux-firebase,但不确定它是否与这个问题相关)。我在使用这些标准身份验证规则时遇到了问题:
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}这是Firebase身份验证仪表板中显示的用户UID:

但是,如果我打印出与配置文件/帐户关联的数据,则会得到以下UID:

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

为什么UID不匹配?我该如何解决这个问题?
更新:
看起来1091103… UID是特定于提供者的,在这种情况下是不是不相关?我不能确定。
这可能是实际的auth UID (我是新手,所以仍在尝试弄清楚是什么):

在这种情况下,此UID与Firebase控制台中看到的UID匹配。如果它们匹配,那么权限被拒绝错误的原因是什么?
另一个更新:
这是用户节点。您可以将UID视为密钥:

发布于 2017-10-27 04:59:00
这是你现在可以做的规则
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}如果你想像下面这样检查
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}您需要在注册时将用户存储到实时数据库中。以他们的auth.uid为密钥。
https://stackoverflow.com/questions/46960694
复制相似问题