如何将用户名和电子邮件保存到 Firebase

迷宫

我看过一些关于在应用程序中注册或注册后将用户信息保存到数据库的教程,但问题是他通过 uid 保存所有用户,而我想要的是通过用户名保存用户你认为是专业的还是更好的方法来做到这一点,或者聊天应用程序无关紧要

@IBAction func SignUp(_ sender: Any) {
        if  username.text != nil, email.text != nil, password.text != nil, fullname.text != nil {

            activityIndicator.startAnimating()

            Auth.auth().createUser(withEmail: email.text!, password: password.text!, completion: { (user, error) in
                if error != nil {
                    AlertController.showAlert(self, titel: "Error", message:".Fill all fields\n .User do exists\n .Network error ")
                    self.activityIndicator.stopAnimating()
                    return
                }
                let uid = user?.uid
                let storageRef = Storage.storage().reference(forURL: "gs://,,,,,,,,,.com").child("profile_image").child(uid!)
                if let profileImg = self.selectedImage, let imageData = UIImageJPEGRepresentation(profileImg, 0.1){
                    storageRef.putData( imageData, metadata: nil, completion: { (metadata, error) in
                        if error != nil{
                            return
                        }
                        let profileImageUrl = metadata?.downloadURL()?.absoluteString
                        let ref = Database.database().reference()
                        let usersReferance = ref.child("users")
                        let newUserReferance = usersReferance.child(uid!)
                        newUserReferance.setValue(["fullname": self.fullname.text, "username": self.username.text, "email": self.email.text, "password": self.password.text, "profileImageUrl": profileImageUrl])
                    })
                }
                self.dismiss(animated: true, completion: nil)
                self.activityIndicator.stopAnimating()
            })
}
}
}

这是它在firebase中的显示方式

iOS极客

如果您想通过用户名保存用户是的,您可以执行以下操作

@IBAction func SignUp(_ sender: Any) {
        if  username.text != "", email.text != "", password.text != "", fullname.text != "" {

            activityIndicator.startAnimating()

            Auth.auth().createUser(withEmail: email.text!, password: password.text!, completion: { (user, error) in
                if error != nil {
                    AlertController.showAlert(self, titel: "Error", message:".Fill all fields\n .User do exists\n .Network error ")
                    self.activityIndicator.stopAnimating()
                    return
                }
                let uid = user?.uid // here you are providing userID
                let storageRef = Storage.storage().reference(forURL: "gs://.........com").child("profile_image").child(uid!)
                if let profileImg = self.selectedImage, let imageData = UIImageJPEGRepresentation(profileImg, 0.1){
                    storageRef.putData( imageData, metadata: nil, completion: { (metadata, error) in
                        if error != nil{
                            return
                        }
                        let profileImageUrl = metadata?.downloadURL()?.absoluteString
                        let ref = Database.database().reference()
                        let usersReferance = ref.child("users")
//                        let newUserReferance = usersReferance.child(uid!) //here in ref you are creating a node with UID

                        //use your username
                        let newUserReferance = usersReferance.child(username.text!)

                        //set child values here as you doing 
                        newUserReferance.setValue(["fullname": self.fullname.text, "username": self.username.text, "email": self.email.text, "password": self.password.text, "profileImageUrl": profileImageUrl])
                    })
                }
                self.dismiss(animated: true, completion: nil)
                self.activityIndicator.stopAnimating()
            })
        }
    }

对于 2 . 1)我不认为这将是一种更好的方法,就像您使用用户名设置节点一样,如果在注册时其他用户填充相同的用户名数据将被新数据替换

2)如果你使用一些检查用户名是否有效,它会起作用,但只是为了担心需要在数据库中额外的参考来检查用户名是否可用

-- 检查整个数据库是否使用了用户名

-- 或者创建一个包含用户名列表的节点,并获取所有这些用户名并离线检查文本字段验证的快速响应,或者甚至可以放置观察事件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Firebase中使用用户名,电子邮件和密码创建新用户?

来自分类Dev

如何在Firebase中使用用户名,电子邮件和密码创建新用户?

来自分类Dev

Firebase 电子邮件身份验证将用户名和详细信息添加到 Firebase 数据库

来自分类Dev

使用用户名(不是电子邮件)登录 Firebase

来自分类Dev

如何将用户电子邮件从 Firebase 身份验证检索到实时数据库

来自分类Dev

如何将用户名等信息保存到设备?

来自分类Dev

firebase / firestore将用户保存到集合

来自分类常见问题

如何知道配置期间保存的git用户名和电子邮件?

来自分类Dev

Firebase:导出用户帐户的电子邮件和密码哈希

来自分类Dev

如何在Firebase中检查用户电子邮件和密码验证以登录

来自分类Dev

如何使用Firebase signInWithCredentials()设置用户的显示名称和电子邮件

来自分类Dev

如何在 Ionic Storage 中存储 firebase 用户电子邮件和密码

来自分类Dev

如何将Firebase数据库锁定到来自特定(电子邮件)域的任何用户?

来自分类Dev

用户名和电子邮件的Rails验证

来自分类Dev

REST API 的用户名和电子邮件检查

来自分类Dev

用户名和电子邮件验证

来自分类Dev

UIsearchbar 搜索电子邮件和用户名

来自分类Dev

ionic,firebase:如何从firebase身份验证中获取所有用户电子邮件

来自分类Dev

如何在git中更新全局配置(用户名和用户电子邮件)?

来自分类Dev

如何允许用户使用php中的用户名和电子邮件登录?

来自分类Dev

如何保存电子邮件等于用户名Allauth社交媒体帐户Django

来自分类Dev

使用 Firebase 和 Swift 为用户提供用户名

来自分类Dev

Swift&Firebase-如何存储除电子邮件和密码以外的更多用户数据?

来自分类Dev

Firebase / Swift 2-如何获取经过身份验证的用户密码和电子邮件

来自分类Dev

将用户添加到用户名是电子邮件地址的角色

来自分类Dev

Javascript和Firebase 3-使用电子邮件和密码创建用户

来自分类Dev

Javascript和Firebase 3-使用电子邮件和密码创建用户

来自分类Dev

如何获取Facebook SDK的用户名和电子邮件ID?

来自分类Dev

SourceTree如何加载我的帐户用户名和电子邮件(来自bitbucket,github)?

Related 相关文章

  1. 1

    如何在Firebase中使用用户名,电子邮件和密码创建新用户?

  2. 2

    如何在Firebase中使用用户名,电子邮件和密码创建新用户?

  3. 3

    Firebase 电子邮件身份验证将用户名和详细信息添加到 Firebase 数据库

  4. 4

    使用用户名(不是电子邮件)登录 Firebase

  5. 5

    如何将用户电子邮件从 Firebase 身份验证检索到实时数据库

  6. 6

    如何将用户名等信息保存到设备?

  7. 7

    firebase / firestore将用户保存到集合

  8. 8

    如何知道配置期间保存的git用户名和电子邮件?

  9. 9

    Firebase:导出用户帐户的电子邮件和密码哈希

  10. 10

    如何在Firebase中检查用户电子邮件和密码验证以登录

  11. 11

    如何使用Firebase signInWithCredentials()设置用户的显示名称和电子邮件

  12. 12

    如何在 Ionic Storage 中存储 firebase 用户电子邮件和密码

  13. 13

    如何将Firebase数据库锁定到来自特定(电子邮件)域的任何用户?

  14. 14

    用户名和电子邮件的Rails验证

  15. 15

    REST API 的用户名和电子邮件检查

  16. 16

    用户名和电子邮件验证

  17. 17

    UIsearchbar 搜索电子邮件和用户名

  18. 18

    ionic,firebase:如何从firebase身份验证中获取所有用户电子邮件

  19. 19

    如何在git中更新全局配置(用户名和用户电子邮件)?

  20. 20

    如何允许用户使用php中的用户名和电子邮件登录?

  21. 21

    如何保存电子邮件等于用户名Allauth社交媒体帐户Django

  22. 22

    使用 Firebase 和 Swift 为用户提供用户名

  23. 23

    Swift&Firebase-如何存储除电子邮件和密码以外的更多用户数据?

  24. 24

    Firebase / Swift 2-如何获取经过身份验证的用户密码和电子邮件

  25. 25

    将用户添加到用户名是电子邮件地址的角色

  26. 26

    Javascript和Firebase 3-使用电子邮件和密码创建用户

  27. 27

    Javascript和Firebase 3-使用电子邮件和密码创建用户

  28. 28

    如何获取Facebook SDK的用户名和电子邮件ID?

  29. 29

    SourceTree如何加载我的帐户用户名和电子邮件(来自bitbucket,github)?

热门标签

归档