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.