Bird
Raised Fist0
Firebasecloud~20 mins

Email/password signup in Firebase - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Firebase Email Signup Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
What happens after a successful email/password signup in Firebase?

When a user signs up with email and password using Firebase Authentication, what is the immediate state of the user session?

Firebase
firebase.auth().createUserWithEmailAndPassword(email, password).then(userCredential => {
  // What is true here?
});
AThe user session is created but remains inactive until email verification.
BThe user is automatically signed in and the session is active.
CThe user must manually sign in after signup to activate the session.
DThe user is signed out immediately after signup for security reasons.
Attempts:
2 left
💡 Hint

Think about what Firebase does by default after creating a user.

❓ security
intermediate
2:00remaining
Which Firebase rule prevents users from reading other users' data?

Given Cloud Firestore with user data stored under /users/{userId}, which security rule ensures users can only read their own data?

Firebase
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read: if request.auth.uid == userId;
    }
  }
}
Arequest.auth.uid == userId
Brequest.auth.email_verified == true
Crequest.auth.uid != userId
Dtrue
Attempts:
2 left
💡 Hint

Users should only access data where their ID matches the data path.

❓ Configuration
advanced
2:00remaining
What is the correct Firebase config snippet to enable email/password signup?

Which Firebase Authentication configuration snippet correctly enables email/password signup in the Firebase console?

ASet <code>allowEmailPasswordSignup: true</code> in firebase.json file.
BAdd email and password fields in Firestore database rules.
CEnable 'Email/Password' provider in Authentication > Sign-in method tab.
DCreate a Cloud Function to handle email/password signup manually.
Attempts:
2 left
💡 Hint

Think about the Firebase console settings for authentication.

🧠 Conceptual
advanced
2:00remaining
Why is email verification important after signup?

After a user signs up with email and password, why should you require email verification before granting full access?

ATo allow users to sign in without a password.
BTo automatically reset the user's password.
CTo speed up the signup process.
DTo confirm the user owns the email and prevent fake accounts.
Attempts:
2 left
💡 Hint

Think about security and trust in user identity.

✅ Best Practice
expert
2:00remaining
What is the best practice for handling errors during email/password signup?

When a signup attempt fails (e.g., weak password, email already in use), what is the best way to handle errors in your app?

Firebase
firebase.auth().createUserWithEmailAndPassword(email, password).catch(error => {
  // What should you do here?
});
AShow a clear, user-friendly message explaining the error cause.
BLog the error silently and do not inform the user.
CReload the page automatically without explanation.
DIgnore the error and proceed as if signup succeeded.
Attempts:
2 left
💡 Hint

Good user experience includes clear communication.

Practice

(1/5)
1. What does the Firebase method createUserWithEmailAndPassword do?
easy
A. It registers a new user with an email and password.
B. It logs in an existing user with email and password.
C. It deletes a user account from Firebase.
D. It updates the user's email address.

Solution

  1. Step 1: Understand the method purpose

    The method createUserWithEmailAndPassword is designed to create a new user account using email and password credentials.
  2. Step 2: Differentiate from other user methods

    Logging in uses a different method, and deleting or updating users require other Firebase functions.
  3. Final Answer:

    It registers a new user with an email and password. -> Option A
  4. Quick Check:

    createUserWithEmailAndPassword = register user [OK]
Hint: Remember 'create' means new user signup, not login [OK]
Common Mistakes:
  • Confusing signup with login method
  • Thinking it updates user info
  • Assuming it deletes users
2. Which of the following is the correct syntax to create a user with email and password in Firebase (JavaScript)?
easy
A. firebase.auth().signUpWithEmail(email, password)
B. firebase.createUser(email, password)
C. firebase.auth().createUserWithEmailAndPassword(email, password)
D. firebase.auth().registerUser(email, password)

Solution

  1. Step 1: Recall Firebase Auth syntax

    The correct method to create a user is called on the auth object: createUserWithEmailAndPassword(email, password).
  2. Step 2: Verify method names

    Other options use incorrect method names that do not exist in Firebase Auth API.
  3. Final Answer:

    firebase.auth().createUserWithEmailAndPassword(email, password) -> Option C
  4. Quick Check:

    Correct Firebase signup syntax = firebase.auth().createUserWithEmailAndPassword(email, password) [OK]
Hint: Look for 'auth' and exact method name [OK]
Common Mistakes:
  • Using non-existent method names
  • Omitting 'auth()' before method
  • Mixing signup and login method names
3. What will be the output if the following code runs successfully?
firebase.auth().createUserWithEmailAndPassword('user@example.com', 'pass123')
  .then(userCredential => console.log(userCredential.user.email))
  .catch(error => console.log(error.message));
medium
A. pass123
B. user@example.com
C. undefined
D. Error message printed

Solution

  1. Step 1: Understand promise resolution

    On success, then receives a userCredential object containing the user info.
  2. Step 2: Access user email

    The code logs userCredential.user.email, which is the email used to create the account.
  3. Final Answer:

    user@example.com -> Option B
  4. Quick Check:

    Success logs user email = user@example.com [OK]
Hint: Success logs user email property [OK]
Common Mistakes:
  • Expecting password to be logged
  • Confusing error catch with success
  • Assuming undefined output
4. Identify the error in this Firebase signup code snippet:
firebase.auth().createUserWithEmailAndPassword(email, password)
  .then(userCredential => console.log('User created'))
  .catch(error => console.log(error));
medium
A. Missing import of Firebase Auth module
B. Incorrect method name used
C. Using console.log inside catch is invalid
D. No error handling for empty email or password

Solution

  1. Step 1: Check method and syntax

    The method name and syntax are correct; console.log in catch is valid.
  2. Step 2: Consider input validation

    The code does not check if email or password are empty before calling Firebase, which can cause errors.
  3. Final Answer:

    No error handling for empty email or password -> Option D
  4. Quick Check:

    Input validation missing = No error handling for empty email or password [OK]
Hint: Always validate inputs before signup call [OK]
Common Mistakes:
  • Assuming console.log in catch is wrong
  • Thinking method name is incorrect
  • Ignoring input validation importance
5. You want to create a signup form that prevents users from registering with weak passwords. Which approach best applies Firebase email/password signup with password strength validation?
hard
A. Check password strength in frontend before calling createUserWithEmailAndPassword and show errors if weak.
B. Call createUserWithEmailAndPassword directly and rely on Firebase to reject weak passwords.
C. Skip password checks and allow any password; fix later in user profile settings.
D. Use Firebase Admin SDK on client to validate password strength.

Solution

  1. Step 1: Understand Firebase password rules

    Firebase requires passwords to be at least 6 characters but does not enforce complex strength rules.
  2. Step 2: Implement frontend validation

    To improve security, validate password strength on the client side before calling Firebase signup to give immediate feedback.
  3. Step 3: Avoid insecure or incorrect methods

    Relying only on Firebase or skipping checks reduces security; Admin SDK is for backend, not client.
  4. Final Answer:

    Check password strength in frontend before calling createUserWithEmailAndPassword and show errors if weak. -> Option A
  5. Quick Check:

    Frontend validation + Firebase signup = Check password strength in frontend before calling createUserWithEmailAndPassword and show errors if weak. [OK]
Hint: Validate password strength before signup call [OK]
Common Mistakes:
  • Relying only on Firebase for password strength
  • Using Admin SDK on client side
  • Ignoring password validation completely
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