【问题标题】:How to log out user from app when I delete his account on firebase?当我在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 控制台上运行)。 希望有人能帮帮我!!! 提前致谢!

【问题讨论】:

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

标签: ios firebase swift3 firebase-authentication


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 2023-01-28
    • 1970-01-01
    相关资源
    最近更新 更多