【发布时间】:2019-02-03 19:09:10
【问题描述】:
我不确定这个标题是否合适,因为我是 Firebase 身份验证和规则的新手,但是,我已成功设置身份验证,现在正在尝试保护特定路由,但似乎无法访问相关数据,这是我的实时数据库中的 Firebase 规则:
{
"rules": {
"accounts": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
},
"demo": {
".read": "accounts.$uid === auth.uid",
".write": true
}
}
}
如您所见,我正在尝试从“演示”中访问帐户/$uid/,它似乎不起作用,我缺少什么/我需要更改什么?
非常感谢
更新
有问题的代码不起作用:
".read": "accounts.$uid === auth.uid"
我似乎无法访问这部分。好像没有获取到当前用户的认证状态。
更新
关于我尝试使用预定义变量的截图,请参见附件。我只是想获取身份验证状态,但我收到一个错误,说它是未定义的?
【问题讨论】:
-
您能否编辑您的问题以包含不违反这些规则的代码?
-
@FrankvanPuffelen 绝对,刚刚更新
-
我不是这个意思。你说“它似乎不起作用”,我想看看 what “它”在这里。很可能是您的应用程序中的一些代码。
-
好像获取不到当前用户的认证状态
-
如果您在用户通过身份验证之前附加侦听器,可能会发生这种情况。但是如果没有看到minimal code that reproduces the problem,就很难确定。
标签: firebase firebase-realtime-database firebase-authentication firebase-security