Skip to content

Commit 42a7e88

Browse files
committed
Expose iOS MultiFactorResolver to FirebaseAuthMultiFactorException
1 parent eafd4f4 commit 42a7e88

File tree

1 file changed

+9
-2
lines changed
  • firebase-auth/src/iosMain/kotlin/dev/gitlive/firebase/auth

1 file changed

+9
-2
lines changed

firebase-auth/src/iosMain/kotlin/dev/gitlive/firebase/auth/auth.kt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import dev.gitlive.firebase.Firebase
99
import dev.gitlive.firebase.FirebaseApp
1010
import dev.gitlive.firebase.FirebaseException
1111
import dev.gitlive.firebase.FirebaseNetworkException
12+
import dev.gitlive.firebase.FirebaseTooManyRequestsException
1213
import dev.gitlive.firebase.auth.ActionCodeResult.*
1314
import dev.gitlive.firebase.ios
1415
import kotlinx.cinterop.*
@@ -171,7 +172,7 @@ public actual open class FirebaseAuthEmailException(message: String) : FirebaseA
171172
public actual open class FirebaseAuthInvalidCredentialsException(message: String) : FirebaseAuthException(message)
172173
public actual open class FirebaseAuthWeakPasswordException(message: String) : FirebaseAuthInvalidCredentialsException(message)
173174
public actual open class FirebaseAuthInvalidUserException(message: String) : FirebaseAuthException(message)
174-
public actual open class FirebaseAuthMultiFactorException(message: String) : FirebaseAuthException(message)
175+
public actual open class FirebaseAuthMultiFactorException(message: String, public val resolver: FIRMultiFactorResolver?) : FirebaseAuthException(message)
175176
public actual open class FirebaseAuthRecentLoginRequiredException(message: String) : FirebaseAuthException(message)
176177
public actual open class FirebaseAuthUserCollisionException(message: String) : FirebaseAuthException(message)
177178
public actual open class FirebaseAuthWebException(message: String) : FirebaseAuthException(message)
@@ -248,7 +249,13 @@ private fun NSError.toException() = when (domain) {
248249
17078L, // AuthErrorCode.secondFactorRequired
249250
17088L, // AuthErrorCode.maximumSecondFactorCountExceeded
250251
17084L, // AuthErrorCode.multiFactorInfoNotFound
251-
-> FirebaseAuthMultiFactorException(toString())
252+
-> {
253+
val resolver = userInfo["FIRAuthErrorUserInfoMultiFactorResolverKey"] as? FIRMultiFactorResolver
254+
FirebaseAuthMultiFactorException(toString(), resolver)
255+
}
256+
257+
17052L, // AuthErrorCode.quotaExceeded
258+
-> FirebaseTooManyRequestsException(toString())
252259

253260
17007L, // AuthErrorCode.emailAlreadyInUse
254261
17012L, // AuthErrorCode.accountExistsWithDifferentCredential

0 commit comments

Comments
 (0)