当我在firebase上删除他的帐户时如何从应用程序中注销用户?

Posted

技术标签:

【中文标题】当我在firebase上删除他的帐户时如何从应用程序中注销用户?【英文标题】:How to log out user from app when I delete his account on firebase? 【发布时间】:2017-05-05 19:57:06 【问题描述】:

当我在 Firebase 控制台上删除帐户时,用户仍然登录到我的应用程序,我使用此代码来保持用户登录状态。 当我删除他的帐户时如何注销用户?

override func viewDidAppear(_ animated: Bool) 
    super.viewDidAppear(true)

    //check if user is logged in
    if FIRAuth.auth()?.currentUser != nil 
        //if user if logged in 
        let vc = self.storyboard?.instantiateViewController(withIdentifier: "mainVC")
        self.present(vc!, animated: false, completion: nil)
    


但我不知道如何在“自动登录”之前检查正在使用用户的帐户是否有效(如果该帐户继续在 firebase 控制台上运行)。 希望有人能帮帮我!!! 提前致谢!

【问题讨论】:

见***.com/questions/37625064/… 但这更侧重于在卸载应用程序时注销用户,如果我在 firebase 中删除用户帐户,我想注销用户。谢谢。 很抱歉。我一直在寻找足够接近 ios 特定的东西。当您删除用户时,他们的令牌保持有效,直到下一次(每小时)令牌刷新。如果您想禁止访问,则必须在另一边执行此操作。见***.com/questions/38195656/… 【参考方案1】:

我们有类似的实现,所以希望这能解决您的问题。

if let currentUser = Auth.auth().currentUser 
    currentUser.getIDTokenForcingRefresh(true)  error in
        if let error = error 
            // log out
         else 
            // go in
        
    
 else 
    // log in

这会强制 Auth 与 Firebase 通信以获取新的身份验证令牌,如果用户被删除,该令牌将失败。

【讨论】:

Java中有这样的解决方案吗?【参考方案2】:

Kotlin 实现将是:

firebaseAuth.currentUser?.getIdToken(true)
firebaseAuth.currentUser == null

【讨论】:

以上是关于当我在firebase上删除他的帐户时如何从应用程序中注销用户?的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 删除帐户以及 iOS 上的数据库和存储

如何从 Android 应用程序中删除 Firebase 用户?

Expo - Firebase 电子邮件验证

当我在 FB Desktop 上看到消息时,FB messenger 如何从 iOS 应用程序中删除推送通知?

有没有办法从 Firebase 中删除有关用户的所有数据?

如何从 Flutter 应用程序中删除 firebase 用户? [复制]