ios - 如何在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.
}
}
任何帮助将不胜感激!
解决方案
您需要从 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
}
推荐阅读
- mysql - MySQL 'IN' 性能
- python - 问题检索列表对象没有属性输入
- wordpress - 带有 OpenID Connect 通用客户端扩展的 WordPress 经常重定向到 /openid-connect-authorize (404)
- python - 如何使用 spidev 在树莓派上的 spi 上传输 24 位数据
- c# - NAudio录音输出流
- html - 如何使缩略图标题也响应?
- java - 我怎样才能用 jaxb 进行多个包装?
- java - Java 日历 NextEvent 方法
- d3.js - 更新 D3 (v6) 散点图不会添加新圆圈
- java - 带有对象列表的地图的杰克逊反序列化