TOTPMultiFactorGenerator
@available(iOS 13, tvOS 13, macOS 10.15, watchOS 7, *)
@objc(FIRTOTPMultiFactorGenerator)
open class TOTPMultiFactorGenerator : NSObject
The data structure used to help initialize an assertion for a second factor entity to the Firebase Auth/CICP server. Depending on the type of second factor, this will help generate the assertion.
This class is available on iOS only.
-
Creates a TOTP secret as part of enrolling a TOTP second factor. Used for generating a QR code URL or inputting into a TOTP app. This method uses the auth instance corresponding to the user in the multiFactorSession.
Declaration
Swift
@objc(generateSecretWithMultiFactorSession:completion:) open class func generateSecret(with session: MultiFactorSession, completion: @escaping (TOTPSecret?, Error?) -> Void)
Parameters
session
The multiFactorSession instance.
completion
Completion block
-
Creates a TOTP secret as part of enrolling a TOTP second factor.
Used for generating a QR code URL or inputting into a TOTP app. This method uses the auth instance correspondingto the user in the multiFactorSession.
Declaration
Swift
@available(iOS 13, tvOS 13, macOS 10.15, watchOS 7, *) open class func generateSecret(with session: MultiFactorSession) async throws -> TOTPSecret
Parameters
session
The multiFactorSession instance.
Return Value
The TOTP secret.
-
Initializes the MFA assertion to confirm ownership of the TOTP second factor.
This assertion is used to complete enrollment of TOTP as a second factor.
Declaration
Swift
@objc(assertionForEnrollmentWithSecret:oneTimePassword:) open class func assertionForEnrollment(with secret: TOTPSecret, oneTimePassword: String) -> TOTPMultiFactorAssertion
Parameters
secret
The TOTP secret.
oneTimePassword
One time password string.
Return Value
The MFA assertion.
-
Initializes the MFA assertion to confirm ownership of the TOTP second factor.
This assertion is used to complete signIn with TOTP as a second factor.
Declaration
Swift
@objc(assertionForSignInWithEnrollmentID:oneTimePassword:) open class func assertionForSignIn(withEnrollmentID enrollmentID: String, oneTimePassword: String) -> TOTPMultiFactorAssertion
Parameters
enrollmentID
The ID that identifies the enrolled TOTP second factor.
oneTimePassword
one time password string.
Return Value
The MFA assertion.