Skip to content

Commit 1042f5f

Browse files
committed
[auth] Fix Multi-factor session crash on second Firebase app
1 parent acc4bbf commit 1042f5f

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

FirebaseAuth/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Unreleased
2+
- [fixed] Fix Multi-factor session crash on second Firebase app. (#14238)
23
- [fixed] Updated most decoders to be consistent with Firebase 10's behavior
34
for decoding `nil` values. (#14212)
45

FirebaseAuth/Sources/Swift/MultiFactor/MultiFactor.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import Foundation
3434
/// operation.
3535
@objc(getSessionWithCompletion:)
3636
open func getSessionWithCompletion(_ completion: ((MultiFactorSession?, Error?) -> Void)?) {
37-
let session = MultiFactorSession.sessionForCurrentUser
37+
let session = MultiFactorSession.session(for: user)
3838
if let completion {
3939
completion(session, nil)
4040
}

FirebaseAuth/Sources/Swift/MultiFactor/MultiFactorSession.swift

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,13 @@ import Foundation
3939
/// Current user object.
4040
var currentUser: User?
4141

42-
class var sessionForCurrentUser: MultiFactorSession {
43-
guard let currentUser = Auth.auth().currentUser else {
42+
class func session(for user: User?) -> MultiFactorSession {
43+
let currentUser = if user != nil {
44+
user
45+
} else {
46+
Auth.auth().currentUser
47+
}
48+
guard let currentUser else {
4449
fatalError("Internal Auth Error: missing user for multifactor auth")
4550
}
4651
return .init(idToken: currentUser.tokenService.accessToken, currentUser: currentUser)

0 commit comments

Comments
 (0)