Expose iOS MultiFactorResolver to FirebaseAuthMultiFactorException #727
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When a user has been enrolled into multifactor, on sign in, a
FirebaseAuthMultiFactorException
is thrown, and should contain aMultiFactorResolver
. This has a functionresolveSignIn
to handle entering the code.On Android for example, the exception contains the resolver, and can be extracted and used successfully.
https://firebase.google.com/docs/auth/android/totp-mfa#sign_in_users_with_a_second_factor
However, on iOS, the resolver isn't included in the exception, and so the code below wouldn't work.
https://firebase.google.com/docs/auth/ios/totp-mfa#sign_in_users_with_a_second_factor
This is because
NSError.toException()
function throws a new error without exposing the required resolver.Adding the resolver in the exception allows iOS to complete sign in for users with multi factor enrolled.