如何从 Firebase 身份验证中获取用户 ID

Posted

技术标签:

【中文标题】如何从 Firebase 身份验证中获取用户 ID【英文标题】:How to get the user id from the firebase authentication 【发布时间】:2022-01-18 18:19:43 【问题描述】:

我正在使用电话号码验证器来验证我的用户。我已经使用以下代码验证了它们。

     PhoneAuthProvider.provider().verifyPhoneNumber(mobileNo!, uiDelegate: nil)  (verificationID, error) in
                if error != nil 
                    self.errorLabel.text = error?.localizedDescription
                else
                    log.success("\(mobileNo!)")/
                    // add authentication code to the defaults
                    let defaults = UserDefaults.standard
                    defaults.set(verificationID, forKey: "authVID")
                    
                    self.performSegue(withIdentifier: "sendCode", sender: Any?.self)
                
            

使用以下代码验证代码

func verifyCode()
        let defaults = UserDefaults.standard
        let credential: PhoneAuthCredential = PhoneAuthProvider.provider().credential(withVerificationID: defaults.string(forKey: "authVID")!, verificationCode: verficationCodeTextField.text!)
        Auth.auth().signIn(with: credential)  (user, error) in
            if error != nil 
                self.errorLabel.text = error?.localizedDescription
                self.errorLabel.alpha = 1
            else
                
                
                self.transitionToRegistration()
               
            
        
    

现在我需要从身份验证中获取用户 ID 吗?

【问题讨论】:

【参考方案1】:

这可以通过使用以下代码行来完成。

guard let userID = Auth.auth().currentUser?.uid else  return 

【讨论】:

谢谢!!它正在工作

以上是关于如何从 Firebase 身份验证中获取用户 ID的主要内容,如果未能解决你的问题,请参考以下文章

使用用户 ID 从 Firebase 获取数据

如何从 firebase_auth 获取令牌

Firebase 身份验证中的用户 ID 如何在所有身份验证提供程序(Google、Facebook、Github)中都相同?

如何在没有客户端身份验证的情况下从服务器验证 Firebase 用户?

如何在 Cloud Functions 存储触发器中获取经过身份验证的 Firebase 用户的 uid

通过 OpenID Connect 进行 Firebase 身份验证