Challenge - 5 Problems
Firebase Authentication Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ ui_behavior
intermediate2:00remaining
What happens after successful Firebase email/password sign-in?
Consider this Kotlin code snippet for Firebase Authentication in an Android app:
What is the expected behavior inside the
auth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener { task ->
if (task.isSuccessful) {
// What happens here?
} else {
// Handle failure
}
}What is the expected behavior inside the
if (task.isSuccessful) block?Android Kotlin
auth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener { task ->
if (task.isSuccessful) {
// Navigate to main screen
} else {
// Show error message
}
}Attempts:
2 left
💡 Hint
Think about what happens when sign-in succeeds in Firebase Authentication.
✗ Incorrect
When Firebase sign-in succeeds, the user is authenticated and the app typically navigates to the main content screen to allow access.
📝 Syntax
intermediate2:00remaining
Identify the syntax error in Firebase user creation code
Which option contains a syntax error in this Firebase Authentication Kotlin code snippet for creating a user?
auth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
// User created
}
}Android Kotlin
auth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
// User created
}
}Attempts:
2 left
💡 Hint
Check the syntax of the if statement inside the lambda.
✗ Incorrect
In Kotlin, the if condition must be enclosed in parentheses. Option A misses parentheses around the condition, causing a syntax error.
❓ lifecycle
advanced2:00remaining
What happens if you call FirebaseAuth.getInstance() multiple times?
In an Android app using Firebase Authentication, what is the behavior when you call
FirebaseAuth.getInstance() multiple times in different parts of your app?Android Kotlin
val auth1 = FirebaseAuth.getInstance() val auth2 = FirebaseAuth.getInstance()
Attempts:
2 left
💡 Hint
Think about how FirebaseAuth manages its instances internally.
✗ Incorrect
FirebaseAuth uses a singleton pattern, so multiple calls to getInstance() return the same instance managing the user's authentication state.
🔧 Debug
advanced2:00remaining
Why does this Firebase sign-in code never call onComplete?
Given this Kotlin code snippet:
But the
auth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener { task ->
if (task.isSuccessful) {
// Success
} else {
// Failure
}
}But the
addOnCompleteListener callback never runs. What is the most likely cause?Android Kotlin
auth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener { task ->
if (task.isSuccessful) {
// Success
} else {
// Failure
}
}Attempts:
2 left
💡 Hint
Check app permissions related to network access.
✗ Incorrect
Without internet permission, Firebase cannot communicate with its servers, so the sign-in request never completes and the callback is never called.
🧠 Conceptual
expert2:00remaining
What is the effect of calling signOut() on FirebaseAuth instance?
In an Android app using Firebase Authentication, what is the effect of calling
FirebaseAuth.getInstance().signOut()?Android Kotlin
FirebaseAuth.getInstance().signOut()
Attempts:
2 left
💡 Hint
Think about what signOut means for user session and app state.
✗ Incorrect
Calling signOut clears the current user session and triggers any registered auth state listeners to update the UI accordingly.