MultiFactor

abstract class MultiFactor


Defines multi-factor related properties and operations pertaining to a FirebaseUser. This class acts as the main entry point for enrolling or un-enrolling second factors for a user, and provides access to their currently enrolled factors.

Summary

Public constructors

Public functions

abstract Task<Void!>
enroll(multiFactorAssertion: MultiFactorAssertion, displayName: String?)

Enrolls a second factor as identified by the MultiFactorAssertion parameter for the current user.

abstract (Mutable)List<MultiFactorInfo!>

Returns a list of the MultiFactorInfo already associated with this user.

abstract Task<MultiFactorSession!>

Returns a session identifier for a second factor enrollment operation.

abstract Task<Void!>
unenroll(factorUid: String)

Unenrolls a second factor from this user.

abstract Task<Void!>
unenroll(multiFactorInfo: MultiFactorInfo)

Unenrolls a second factor from this user.

Public constructors

MultiFactor

MultiFactor()

Public functions

enroll

abstract fun enroll(multiFactorAssertion: MultiFactorAssertion, displayName: String?): Task<Void!>

Enrolls a second factor as identified by the MultiFactorAssertion parameter for the current user.

On successful enrollment, existing Firebase sessions are revoked, and an email notification is sent to the user’s email. The user's must have a verified email to enroll a second factor.

A MultiFactorAssertion can be generated using getAssertion for enrolling phone number as a second factor or getAssertionForEnrollment for enrolling TOTP as a second factor.

Parameters
multiFactorAssertion: MultiFactorAssertion

the assertion representing the second factor to enroll

displayName: String?

an optional name for identifying this second factor

getEnrolledFactors

abstract fun getEnrolledFactors(): (Mutable)List<MultiFactorInfo!>

Returns a list of the MultiFactorInfo already associated with this user.

If the user does not have any enrolled factors, the list will be empty.

getSession

abstract fun getSession(): Task<MultiFactorSession!>

Returns a session identifier for a second factor enrollment operation. This is used to identify the current user trying to enroll a second factor.

To be used when building a PhoneAuthOptions instance to call verifyPhoneNumber for phone factor enrollment, or when generating a TotpSecret instance for TOTP factor enrollment.

unenroll

abstract fun unenroll(factorUid: String): Task<Void!>

Unenrolls a second factor from this user.

The factorUid to be passed in can be retrieved from getEnrolledFactors.

unenroll

abstract fun unenroll(multiFactorInfo: MultiFactorInfo): Task<Void!>

Unenrolls a second factor from this user.

The MultiFactorInfo to be passed in can be gotten from getEnrolledFactors.