2017-05-05 9 views
0

Firebaseコンソールでアカウントを削除しても、そのユーザはまだアプリケーションにログインしていますが、このコードを使用してユーザをログに記録します。 アカウントを削除したときにユーザーをログアウトするにはどうすればよいですか?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コンソールまたはないで継続されている場合)。 誰かが私を助けてくれることを願っています! ありがとうございます!

+0

http://stackoverflow.com/questions/37625064/deleted-app-and-reinstalled-and-user-is-still-logged-in –

+0

を参照してください。しかし、それはユーザーをログアウトする際に、 appと私はfirebaseでユーザーアカウントを削除すると、ユーザーをログアウトします。 ありがとうございます。 – killerwar557

+0

申し訳ありません。私は、iOS特有のものを十分に探していました。ユーザーを削除すると、そのトークンは次の(1時間ごとの)トークンが更新されるまで有効です。アクセスを許可しない場合は、反対側でアクセスする必要があります。 http://stackoverflow.com/questions/38195656/how-to-set-firebase-database-rules-how-to-prevent-write-from-deleted-user/38207670#38207670を参照してください。 –

答えて

1

私たちも同様の実装をしています。うまくいけば、これはあなたの問題を解決します。

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

これは、ユーザーが削除された場合に失敗する新しい認証トークンを取得するためにFirebaseと通信するために認証を強制します。

関連する問題