首页 > 解决方案 > 如何在firebase中检查当前用户的名称

问题描述

我无法在 firebase 中获取当前登录用户的显示名称。我尝试使用users.displayName,但它不显示用户友好的版本。我只想要用户的名字和姓氏。在我的数据库中,我确实有 firstName 和 lastName 字符串。这是我的代码:

import UIKit
import FirebaseAuth
class HomeViewController: UIViewController {

    @IBOutlet weak var welcomeLabel: UILabel!
    override func viewDidLoad() {
        super.viewDidLoad()
        let user = Auth.auth().currentUser
        welcomeLabel.text = "Welcome, users first name" 
        // Do any additional setup after loading the view.
    }

}

任何帮助将不胜感激!

标签: iosswiftxcode

解决方案


您需要从 Firebase 获取用户信息,所有用户都有一个 uid。uid 应该用作 /users 中每个用户节点的键。

uid_0
  gender: male
  name: jawad
uid_1
  gender: female?
  name: foxia

这是 Firebase 中常见的设计模式。

有了它,您可以简单地通过他们的 uid 获取任何用户

let usersRef = ref.child("users")
let thisUserRef = usersRef.childByAppendingPath("the uid")

thisUserRef.observeSingleEventOfType(.Value... {
    let gender = snapshot.value["name"]
}

或者如果你设置显示名称..你可以像这样得到它

if let user = Auth.auth().currentUser {
    let providerID: String = user.providerID
    let uid: String = user.uid
    let displayName: String = user.displayName
    let photoURL: String = user.photoURL
    let email: String = user.email
}

推荐阅读