所以我正在尝试为我的应用程序构建安全防护。我的用户数据库结构在第一行,下面我有我的初始安全规则:
/users/[facebook id of user]/[data]
{
"rules": {
"users": {
"$user": {
".read": "auth.uid === $user",
".write": "auth.uid === $user"
}
}
}
}
我的问题是:我可以格式化安全规则,以便 auth.id 与字符串进行比较:“facebook:”+ $ user ?
或者我应该将所有数据库更改为使用原始 auth.uid作为用户ID ?到目前为止,我一直使用facebook.id作为用户ID。
答案 0 :(得分:1)
auth.uid
不等同于"facebook:" + facebook.id
所以不,你不能简单地使用它。如果要在安全规则中唯一标识用户,则需要使用auth.uid
。
如果您正在制作中,作为重写所有用户ID的中间步骤,您可以将auth.uid添加为字段并引用:
".write": "data.child('uid').val() === auth.uid"
但我不会尝试将其作为永久性解决方案,因为随着您的进步,您会遇到更多问题。