Skip to content

Commit 56f3dab

Browse files
RaphaelHxReedyuknbransby
authored
Expose iOS MultiFactorResolver to FirebaseAuthMultiFactorException (#727)
Co-authored-by: Andrew Reed <[email protected]> Co-authored-by: Nicholas Bransby-Williams <[email protected]>
1 parent 5c91a6c commit 56f3dab

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.*
@@ -164,7 +165,7 @@ public actual open class FirebaseAuthEmailException(message: String) : FirebaseA
164165
public actual open class FirebaseAuthInvalidCredentialsException(message: String) : FirebaseAuthException(message)
165166
public actual open class FirebaseAuthWeakPasswordException(message: String) : FirebaseAuthInvalidCredentialsException(message)
166167
public actual open class FirebaseAuthInvalidUserException(message: String) : FirebaseAuthException(message)
167-
public actual open class FirebaseAuthMultiFactorException(message: String) : FirebaseAuthException(message)
168+
public actual open class FirebaseAuthMultiFactorException(message: String, public val resolver: FIRMultiFactorResolver?) : FirebaseAuthException(message)
168169
public actual open class FirebaseAuthRecentLoginRequiredException(message: String) : FirebaseAuthException(message)
169170
public actual open class FirebaseAuthUserCollisionException(message: String) : FirebaseAuthException(message)
170171
public actual open class FirebaseAuthWebException(message: String) : FirebaseAuthException(message)
@@ -241,7 +242,13 @@ private fun NSError.toException() = when (domain) {
241242
17078L, // AuthErrorCode.secondFactorRequired
242243
17088L, // AuthErrorCode.maximumSecondFactorCountExceeded
243244
17084L, // AuthErrorCode.multiFactorInfoNotFound
244-
-> FirebaseAuthMultiFactorException(toString())
245+
-> {
246+
val resolver = userInfo["FIRAuthErrorUserInfoMultiFactorResolverKey"] as? FIRMultiFactorResolver
247+
FirebaseAuthMultiFactorException(toString(), resolver)
248+
}
249+
250+
17052L, // AuthErrorCode.quotaExceeded
251+
-> FirebaseTooManyRequestsException(toString())
245252

246253
17007L, // AuthErrorCode.emailAlreadyInUse
247254
17012L, // AuthErrorCode.accountExistsWithDifferentCredential

0 commit comments

Comments
 (0)