从Firebase删除帐户是否会自动将用户注销?

时间:2016-10-22 08:46:58

标签: swift firebase firebase-authentication

我想知道,从Firebase删除帐户会自动将用户退出吗?我的意思是,如果我想在删除登录屏幕后显示他,那么我只需要提供该VC?
我问这个是因为如果我喜欢这个,它会崩溃,我认为这是因为用户在这一点上不再存在。

我是对的吗?

包含一些表达式的代码:

let user = FIRAuth.auth()?.currentUser

user?.deleteWithCompletion { error in
  if let error = error {
    // An error happened.
  } else {
     try! FIRAuth.auth()!.signOut()//This is unnecessary?

            let mainStoryboard: UIStoryboard = UIStoryboard(name:"Main",bundle:nil)

            let WelcomeViewController: UIViewController = mainStoryboard.instantiateViewController(withIdentifier: "WelcomeViewController")

            //Send the user to the WelcomeViewController
            self.present(WelcomeViewController, animated: true, completion: nil)
    // Account deleted. 
  }
}

1 个答案:

答案 0 :(得分:4)

如果您要删除 currentUser ,则需要注意以下两点: -

  • Firebase数据库中删除用户的数据(如果有)
  • 删除身份验证凭据(例如: - 电子邮件密码,Facebook登录,推特等)

    要删除当前用户,请使用以下功能,该功能也首先签出用户

     FIRAuth.auth()?.currentUser?.delete(completion: { (err) in
    
        print(err?.localizedDescription)
    
    })
    

    如果您在删除功能上进行CMD + CLICK,它将带您进入其文档: -

  

删除用户帐户(如果这是当前用户,还要注销用户)。

     

完成可选;删除帐户的请求完成或失败时调用的块。将来在主线程上异步调用。

     

可能的错误代码:                - @c FIRAuthErrorCodeRequiresRecentLogin - 更新电子邮件是一项安全敏感操作,需要用户最近登录。此错误表示用户最近没有登录。要解决此问题,请通过在FIRUser上调用reauthenticateWithCredential:completion:来重新验证用户。

     

请参阅@c FIRAuthErrors以获取所有FIRUser操作通用的错误代码列表。        * /

如果收到的 错误 为零,那么您的当前用户的帐户不仅已被删除,而且还会自动退出,但您需要处理其他< strong> FIRAuthErrors ,如文档中所述