Firebase auth lets you pass a handler function when the auth state changes.

In my use case I need to receive state change alerts. My user might be disabled by an admin or a bot, or the account is stopped for security reasons. But, I need to update user interfaces and data code to match that the user is logged out.

Fortunately its easy with firebase

Somewhere in your startup code -I use a container view for all my views, but the AppDelegate or SceneManager works well here- put this snippet in.

func setAuthListener() {
	  Auth.auth().addStateDidChangeListener { (auth, user) in
		    if user == nil {
// The user is either logged out, or something went wrong. 
// You can use the Auth.auth().currentUser.reload() function 
// to try to find the error using the FIRErrorCode enum
		    }	
/*
Otherwise, we now have a signed in user. Usually that just means 
we carry on, but you could put some custom handler here too.
*/
	  }
}

Then just fire that function somewhere at the start of your app, or in a container controller like we made in this article.