我是使用Firebase的新手(我正在使用react-redux-firebase,但不确定这是否与此问题相关)。我在使用这些标准身份验证规则时遇到了问题:
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
这是用户UID,如Firebase身份验证信息中心中所示:
但是如果我打印出与个人资料/帐户相关的数据,我会得到这个UID:
由于这种不匹配,登录用户无法读取或写入firebase实例。
为什么UID不匹配?我该如何解决这个问题?
更新:
看起来1091103…
UID是特定于提供商的,在这种情况下不相关?无法确认这一点。
这可能是实际的身份验证UID(我是新手,所以仍然试图弄清楚是什么):
在这种情况下,此UID与Firebase控制台中显示的内容相匹配。如果它们匹配,那么许可被拒绝的原因是什么?
另一个更新:
这是用户节点。您可以将UID视为关键:
答案 0 :(得分:0)
这是你现在可以做的规则
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
如果你想检查如下
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
您需要在注册时将用户存储到实时数据库。以auth.uid
为关键。