Skip to content

Commit 3100258

Browse files
chore: enhance reauth by using guard instead of if/else
1 parent 77927c8 commit 3100258

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Services/AuthService.swift

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -732,24 +732,24 @@ public extension AuthService {
732732
}
733733

734734
func reauthenticateCurrentUser(on user: User) async throws {
735-
if let providerId = signedInCredential?.provider {
736-
if providerId == EmailAuthProviderID {
737-
guard let email = user.email else {
738-
throw AuthServiceError.invalidCredentials("User does not have an email address")
739-
}
740-
let password = try await passwordPrompt.confirmPassword()
741-
let credential = EmailAuthProvider.credential(withEmail: email, password: password)
742-
try await user.reauthenticate(with: credential)
743-
} else if let matchingProvider = providers.first(where: { $0.id == providerId }) {
744-
let credential = try await matchingProvider.provider.createAuthCredential()
745-
try await user.reauthenticate(with: credential)
746-
} else {
747-
throw AuthServiceError.providerNotFound("No provider found for \(providerId)")
748-
}
749-
} else {
735+
guard let providerId = signedInCredential?.provider else {
750736
throw AuthServiceError
751737
.reauthenticationRequired("Recent login required to perform this operation.")
752738
}
739+
740+
if providerId == EmailAuthProviderID {
741+
guard let email = user.email else {
742+
throw AuthServiceError.invalidCredentials("User does not have an email address")
743+
}
744+
let password = try await passwordPrompt.confirmPassword()
745+
let credential = EmailAuthProvider.credential(withEmail: email, password: password)
746+
try await user.reauthenticate(with: credential)
747+
} else if let matchingProvider = providers.first(where: { $0.id == providerId }) {
748+
let credential = try await matchingProvider.provider.createAuthCredential()
749+
try await user.reauthenticate(with: credential)
750+
} else {
751+
throw AuthServiceError.providerNotFound("No provider found for \(providerId)")
752+
}
753753
}
754754

755755
func unenrollMFA(_ factorUid: String) async throws -> [MultiFactorInfo] {

0 commit comments

Comments
 (0)