swift - 能够在 Firebase 中对用户进行身份验证,但无法将用户数据存储在 Firebase 数据库中

标签 swift firebase firebase-realtime-database firebase-authentication

我能够在 Firebase 身份验证中对用户进行身份验证,但无法存储其数据,例如 Firebase 数据库中的名字和姓氏。可能是我写的代码有问题?

Auth.auth().createUser(withEmail: userEmail, password: userPassword) { (user, error) in

        if let error = error
        {
            print(error.localizedDescription)
            self.showMessage(messageToDisplay: error.localizedDescription)
            return
        }

           if let user = user {
            var databaseReference: DatabaseReference!
            databaseReference = Database.database().reference()

            let userDetails:[String:String] = ["firstName":firstName, "lastName":lastName]
            databaseReference.child("users").child(user.uid).setValue(["userDetails":userDetails])

screenshoot of problem

screenshoot of authenticated users

最佳答案

尝试将实时数据库的规则设置为:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

关于swift - 能够在 Firebase 中对用户进行身份验证,但无法将用户数据存储在 Firebase 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51920342/

相关文章:

ios - 如何在不以编程方式更改其他单元格的情况下将 UIButton 样式设置为特定的 UITableViewCell?

ios - Swift 中的 remoteControlReceivedWithEvent 有父类(super class)错误

java - 如何从Firebase获取每个月的所有数据以在Android中进行计算

android - 如何在Firebase Android中24小时内每次更新一个值

javascript - Firebase -- 批量删除子节点

javascript - Firebase 无法使用 "snapshot"访问数据

swift - Pusher Swift 成员添加/删除事件

ios - 试图在 Swift3 Tableview Controller 中计算产品的价格

android - Firebase 规则语法错误

java.lang.NullPointerException Firebase