Persistence in Firebase
Learn about the details of authentication state persistence in Firebase.
We'll cover the following
When a user logs into our Firebase application, the user’s authentication state is persisted by default, until the user explicitly signs out. This is convenient because requiring a user to sign in whenever the user visits our application or reloads the browser is a bad user experience. However, there are situations where this behavior might not be ideal. hen a user logs in on a publicly shared device, forgets to sign out, or when our application holds sensitive information, we need to override this default behavior.
Using the Firebase Authentication SDK, we can specify how users’ authentication states persist and what conditions should trigger another sign-in from the users. These conditions include reloading the page or closing the browser window, and so on.
Supported persistence types
The Firebase Authentication SDK supports three types of authentication state persistence.
-
Local: This type of persistence indicates that users’ authentication states persist even when the browser window is closed. This means that an explicit sign-out from the user is required to clear the authentication state. With Firebase, this is done with the
browserLocalPersistence
function imported from thefirebase/auth
subpackage. -
Session: The authentication state will only persist in the current tab or the browser session and is cleared once the tab is closed. This form of persistence only applies to web applications. In Firebase, we use this by calling the
browserSessionPersistence
function. -
None: This indicates that the authentication state clears whenever the window or activity refreshes. This persistence is set by using the
inMemoryPersistence
function on the Firebase Authentication SDK.
Modify persistence in Firebase
We use the setPersistence
function to modify authentication state persistence in Firebase. This function takes three arguments: the auth
instance, the type of persistence to use, and a promise that resolves once the persistence change completes:
Get hands-on with 1400+ tech skills courses.