Firebase安全性:uid和facebook.id

时间:2015-05-28 09:41:20

标签: firebase facebook-authentication firebase-security

所以我正在尝试为我的应用程序构建安全防护。我的用户数据库结构在第一行,下面我有我的初始安全规则:

/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。

1 个答案:

答案 0 :(得分:1)

auth.uid不等同于"facebook:" + facebook.id所以不,你不能简单地使用它。如果要在安全规则中唯一标识用户,则需要使用auth.uid

如果您正在制作中,作为重写所有用户ID的中间步骤,您可以将auth.uid添加为字段并引用:

".write": "data.child('uid').val() === auth.uid"

但我不会尝试将其作为永久性解决方案,因为随着您的进步,您会遇到更多问题。