title: Firebase auth listener with email verified and multiple login methods in Flutter
body: <p>I have this Authentication class that handles all the login methods for my app (google, facebook, phone and email) and a listener that navigates when the AuthState changes. They all work but if I add a method for the user verify the e-mail in the EmailAndPassword method, it navigates either way and if I check if the emailVerified, the other methods stop working. How can I achieve this? Or there is a better way to perform this navigation?</p>
  <p>this is my listener:</p>
  <pre><code> Future&lt;StreamSubscription&lt;User?&gt;&gt; listenUserChanges(
        GlobalKey&lt;NavigatorState&gt; navigatorKey) async {
      final sub = auth.authStateChanges().listen((event) async {
        if (event != null) {
          final token = await getUserId();
          setToken(token);
          navigatorKey.currentState!.pushReplacementNamed('/logged');
        } else {
          removeToken();
        }
      });
      return sub;
    }
  </code></pre>