Bird
Raised Fist0
Firebasecloud~10 mins

User session management in Firebase - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to sign in a user with email and password.

Firebase
firebase.auth().signInWithEmailAndPassword(email, [1])
Drag options to blanks, or click blank then click option'
Atoken
Busername
Cpassword
DsessionId
Attempts:
3 left
💡 Hint
Common Mistakes
Using username instead of password
Using token instead of password
2fill in blank
medium

Complete the code to check if a user is currently signed in.

Firebase
const user = firebase.auth().[1];
Drag options to blanks, or click blank then click option'
AcurrentUser
BactiveUser
CsignedInUser
DuserSession
Attempts:
3 left
💡 Hint
Common Mistakes
Using activeUser which does not exist
Using userSession which is not a Firebase property
3fill in blank
hard

Fix the error in the code to sign out the current user.

Firebase
firebase.auth().[1]();
Drag options to blanks, or click blank then click option'
AsignOut
BsignIn
Clogout
DendSession
Attempts:
3 left
💡 Hint
Common Mistakes
Using signIn instead of signOut
Using logout or endSession which are not Firebase methods
4fill in blank
hard

Fill both blanks to listen for changes in the user's authentication state.

Firebase
firebase.auth().[1]((user) => {
  if (user) {
    console.log('User is signed in:', [2]);
  } else {
    console.log('No user signed in');
  }
});
Drag options to blanks, or click blank then click option'
AonAuthStateChanged
BcurrentUser
Cuser
DauthListener
Attempts:
3 left
💡 Hint
Common Mistakes
Using currentUser instead of onAuthStateChanged
Logging currentUser instead of the callback parameter
5fill in blank
hard

Fill all three blanks to refresh the user's ID token.

Firebase
firebase.auth().currentUser.[1]().then(([2]) => {
  console.log('New token:', [3]);
});
Drag options to blanks, or click blank then click option'
AgetIdToken
Btoken
DrefreshToken
Attempts:
3 left
💡 Hint
Common Mistakes
Using refreshToken method which does not exist
Using different variable names inconsistently

Practice

(1/5)
1. What is the main purpose of user session management in Firebase?
easy
A. To keep track of who is logged in and maintain their login state safely
B. To store user data permanently in the database
C. To manage server resources automatically
D. To create user interface themes dynamically

Solution

  1. Step 1: Understand user session management

    User session management is about tracking user login status and keeping users logged in securely.
  2. Step 2: Identify the correct purpose in Firebase context

    Firebase Auth provides methods to manage user sessions, ensuring users stay logged in safely.
  3. Final Answer:

    To keep track of who is logged in and maintain their login state safely -> Option A
  4. Quick Check:

    User session management = track and maintain login state [OK]
Hint: Remember: session management = tracking login state [OK]
Common Mistakes:
  • Confusing session management with data storage
  • Thinking it manages server resources
  • Mixing UI features with session handling
2. Which Firebase Auth method is used to sign out a user?
easy
A. firebase.auth().signOut()
B. firebase.auth().endSession()
C. firebase.auth().logOut()
D. firebase.auth().signIn()

Solution

  1. Step 1: Recall Firebase Auth sign-out method

    The correct method to sign out a user in Firebase Auth is signOut().
  2. Step 2: Verify method names

    Other options like signIn(), logOut(), and endSession() are incorrect or do not exist in Firebase Auth.
  3. Final Answer:

    firebase.auth().signOut() -> Option A
  4. Quick Check:

    Sign out method = signOut() [OK]
Hint: Sign out uses signOut(), not logOut or endSession [OK]
Common Mistakes:
  • Using signIn() instead of signOut()
  • Assuming logOut() or endSession() exist
  • Confusing signOut() with session ending
3. What will be the output of this code snippet?
firebase.auth().onAuthStateChanged(user => {
  if (user) {
    console.log('User is signed in');
  } else {
    console.log('No user signed in');
  }
});
medium
A. Always logs 'User is signed in'
B. Logs 'User is signed in' if a user is logged in, else 'No user signed in'
C. Throws an error because of syntax
D. Logs nothing because the callback is never called

Solution

  1. Step 1: Understand onAuthStateChanged behavior

    This method listens for changes in user authentication state and calls the callback with the user object or null.
  2. Step 2: Analyze the callback logic

    If user exists (logged in), it logs 'User is signed in'; otherwise, it logs 'No user signed in'.
  3. Final Answer:

    Logs 'User is signed in' if a user is logged in, else 'No user signed in' -> Option B
  4. Quick Check:

    onAuthStateChanged logs based on user presence [OK]
Hint: onAuthStateChanged callback runs on login state changes [OK]
Common Mistakes:
  • Thinking it always logs 'User is signed in'
  • Expecting syntax errors in correct code
  • Assuming callback never runs
4. Identify the error in this Firebase session persistence code:
firebase.auth().setPersistence('LOCAL')
  .then(() => {
    return firebase.auth().signInWithEmailAndPassword(email, password);
  })
  .catch(error => {
    console.error(error);
  });
medium
A. 'LOCAL' is not a valid persistence type
B. setPersistence must be called after signInWithEmailAndPassword
C. setPersistence should use firebase.auth.Auth.Persistence.LOCAL constant
D. Missing await keyword before setPersistence

Solution

  1. Step 1: Check setPersistence argument

    Firebase expects persistence constants like firebase.auth.Auth.Persistence.LOCAL, not string 'LOCAL'.
  2. Step 2: Confirm correct usage

    Using the constant ensures valid persistence setting; strings cause errors.
  3. Final Answer:

    setPersistence should use firebase.auth.Auth.Persistence.LOCAL constant -> Option C
  4. Quick Check:

    Use persistence constants, not strings [OK]
Hint: Use firebase.auth.Auth.Persistence constants, not strings [OK]
Common Mistakes:
  • Passing string instead of constant for persistence
  • Calling setPersistence after sign-in
  • Forgetting to handle promises
5. You want users to stay signed in only during the browser session (not after closing). Which persistence setting should you use in Firebase Auth?
hard
A. firebase.auth.Auth.Persistence.LOCAL
B. firebase.auth.Auth.Persistence.NONE
C. firebase.auth.Auth.Persistence.PERMANENT
D. firebase.auth.Auth.Persistence.SESSION

Solution

  1. Step 1: Understand persistence options

    LOCAL keeps users signed in across browser restarts, SESSION keeps them signed in only during the current tab session, NONE signs out immediately on page reload.
  2. Step 2: Match requirement to persistence

    To keep users signed in only during the browser session, SESSION persistence is correct.
  3. Final Answer:

    firebase.auth.Auth.Persistence.SESSION -> Option D
  4. Quick Check:

    Session persistence = sign-in lasts only during browser session [OK]
Hint: SESSION persistence limits login to current browser session [OK]
Common Mistakes:
  • Choosing LOCAL which persists beyond browser close
  • Selecting NONE which signs out immediately
  • Using non-existent PERMANENT option
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard