Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase安全:uid和facebook.id_Firebase_Facebook Authentication_Firebase Security - Fatal编程技术网

Firebase安全:uid和facebook.id

Firebase安全:uid和facebook.id,firebase,facebook-authentication,firebase-security,Firebase,Facebook Authentication,Firebase Security,因此,我正在尝试为我的应用程序构建安全屏蔽。我的用户数据库结构在第一行,下面是我的初始安全规则: /users/[facebook id of user]/[data] { "rules": { "users": { "$user": { ".read": "auth.uid === $user", ".write": "auth.uid === $user" } } } } 我的问题是:是否可以格式化安全规则

因此,我正在尝试为我的应用程序构建安全屏蔽。我的用户数据库结构在第一行,下面是我的初始安全规则:

/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

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

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

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

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

谢谢!我认为这是必须的,所以我已经将所有的数据库结构更改为userID作为auth.uid!祝你有美好的一天!