title: Persist user Auth Flutter Firebase
body: <p>I am using Firebase Auth with google sign in Flutter. I am able to sign in however when I close the app(kill it), I have to sign up all over again. So is there a way to persist user authentication till specifically logged out by the user? 
  Here is my auth class</p>
  
  <pre><code>import 'package:firebase_auth/firebase_auth.dart';
  import 'package:google_sign_in/google_sign_in.dart';
  
  class Auth {
    FirebaseAuth _firebaseAuth;
    FirebaseUser _user;
  
    Auth() {
      this._firebaseAuth = FirebaseAuth.instance;
    }
  
    Future&lt;bool&gt; isLoggedIn() async {
      this._user = await _firebaseAuth.currentUser();
      if (this._user == null) {
        return false;
      }
      return true;
    }
  
    Future&lt;bool&gt; authenticateWithGoogle() async {
      final googleSignIn = GoogleSignIn();
      final GoogleSignInAccount googleUser = await googleSignIn.signIn();
      final GoogleSignInAuthentication googleAuth =
      await googleUser.authentication;
      this._user = await _firebaseAuth.signInWithGoogle(
        accessToken: googleAuth.accessToken,
        idToken: googleAuth.idToken,
      );
      if (this._user == null) {
        return false;
      }
      return true;
      // do something with signed-in user
    }
  }
  </code></pre>
  
  <p>Here is my start page where the auth check is called.</p>
  
  <pre><code>import 'package:flutter/material.dart';
  import 'auth.dart';
  import 'login_screen.dart';
  import 'chat_screen.dart';
  
  class Splash extends StatefulWidget {
  
    @override
    _Splash createState() =&gt; _Splash();
  }
  
  class _Splash extends State&lt;Splash&gt; {
  
    @override
    Widget build(BuildContext context) {
      return Scaffold(
        body: Center(
          child: CircularProgressIndicator(
            value: null,
          ),
        ),
      );
    }
  
    @override
    void initState() {
      super.initState();
      _handleStartScreen();
    }
  
    Future&lt;void&gt; _handleStartScreen() async {
      Auth _auth = Auth();
      if (await _auth.isLoggedIn()) {
        Navigator.of(context).pushReplacementNamed("/chat");
      }
      Navigator.pushReplacement(context, MaterialPageRoute(builder: (BuildContext context) =&gt; LoginScreen(auth: _auth,)));
    }
  }
  </code></pre>