使用Swift 4.2遇到Firebase数据库权限被拒绝的错误

时间:2018-09-01 11:00:12

标签: ios swift firebase

guard let uid = user?.uid  else {return}

let usernameValue = ["username":username]
let value = [uid: usernameValue]

Database.database().reference().child("user").updateChildValues(value, withCompletionBlock: { (err, ref) in
    if let err = err{
        print("failed to save user in db:", err)
    }else{
        print("successfully Work")
    }
})

这是我面临的错误:

  

无法将用户保存到数据库中:错误Domain = com.firebase代码= 1“权限被拒绝” UserInfo = {NSLocalizedDescription =权限被拒绝}

2 个答案:

答案 0 :(得分:1)

您无权管理数据库中的/user路径。

检查您的Firebase安全规则。

答案 1 :(得分:0)

允许未经授权的访问数据库。

进入项目控制台的“数据库”面板,选择“规则”选项卡,然后将内容替换为以下规则:

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

这使每个人都可以读取和写入您的新数据库。

为避免此问题的另一种技巧,请调用Firebase身份验证的signIn ...方法之一,以确保用户在访问数据库之前已登录。