Keep User Logged in Flutter-Firebase

Mercy Jemosop
2 min readAug 17, 2021

Remember user using authStateChanges()

Introduction to Authentication state

There are many ways of keeping user signed-in to a flutter application. In this tutorial we going to use firebase Auth method authStateChanges().

Firebase Auth enables you to subscribe in realtime to this state via a Stream. Once called, the stream provides an immediate event of the user's current authentication state, and then provides subsequent events whenever the authentication state changes.

To subscribe to these changes, call the authStateChanges() method on your FirebaseAuth instance.

N.B There are three methods to listen authentication state changes in flutter:

  • authStateChanges()
  • userChanges()
  • idTokenChanges()

Listening to changes using authStateChanges

Events are fired when the following occurs:

  • Right after the listener has been registered.
  • When a user is signed in.
  • When the current user is signed out.

Sign out syntax

FirebaseAuth.instance
.authStateChanges()
.listen((User? user) {
if (user == null) {
print('User is currently signed out!');
} else {
print('User is signed in!');
}
});

We will keep the user signed in to flutter by adding our fitrbase auth authStateChanges method in our main class.

create a page and add a sign out button

if you have trouble understanding flutter navigation here is a tutorial i did on flutter routes.

Login and registration tutorial

To learn how to create a chat application using Firebase cloud firestore here is a tutorial on todo list, you can apply that and create a chat app.This is a chap app github link for reference.

HAPPY CODING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

--

--

Mercy Jemosop

Software Developer. I am open to job referrals. connect with me on twitter @kipyegon_mercy