MultiFactorUser interface

Una interfaz que define las propiedades y operaciones relacionadas con varios factores correspondientes a un User.

Firma:

export interface MultiFactorUser 

Propiedades

Propiedad Tipo Descripción
enrolledFactors MultiFactorInfo Muestra una lista de los segundos factores inscritos del usuario.

Métodos

Método Descripción
enroll(assertion, displayName) Inscribe un segundo factor como lo identifica MultiFactorAssertion para el usuario.
La función getSession() Muestra el identificador de sesión para una operación de inscripción de un segundo factor. Se usa para identificar al usuario que intenta inscribir un segundo factor.
unenroll(opción) Anula la inscripción del segundo factor especificado.

MultiFactorUser.enrolledFactors

Muestra una lista de los segundos factores inscritos del usuario.

Firma:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

Inscribe un segundo factor como lo identifica MultiFactorAssertion para el usuario.

Cuando se resuelve, los tokens de usuario se actualizan para reflejar el cambio en la carga útil de JWT. Acepta un parámetro de nombre visible adicional que se usa para identificar el segundo factor para el usuario final. Se requiere una reautenticación reciente para que esta operación se realice correctamente. Si la inscripción se realiza correctamente, se revocan las sesiones existentes de Firebase (tokens de actualización). Cuando se inscribe un factor nuevo, se envía una notificación por correo electrónico al correo electrónico del usuario.

Firma:

enroll(assertion: MultiFactorAssertion, displayName?: string | null): Promise<void>;

Parámetros

Parámetro Tipo Descripción
aserción MultiFactorAssertion La aserción de varios factores con la que te inscribes.
displayName cadena | nulo El nombre visible del segundo factor.

Muestra:

Promesa<void>

Ejemplo

const multiFactorUser = multiFactor(auth.currentUser);
const multiFactorSession = await multiFactorUser.getSession();

// Send verification code.
const phoneAuthProvider = new PhoneAuthProvider(auth);
const phoneInfoOptions = {
  phoneNumber: phoneNumber,
  session: multiFactorSession
};
const verificationId = await phoneAuthProvider.verifyPhoneNumber(phoneInfoOptions, appVerifier);

// Obtain verification code from user.
const phoneAuthCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const multiFactorAssertion = PhoneMultiFactorGenerator.assertion(phoneAuthCredential);
await multiFactorUser.enroll(multiFactorAssertion);
// Second factor enrolled.

MultiFactorUser.getSession()

Muestra el identificador de sesión para una operación de inscripción de un segundo factor. Se usa para identificar al usuario que intenta inscribir un segundo factor.

Firma:

getSession(): Promise<MultiFactorSession>;

Muestra:

Promesa<MultiFactorSession>

La promesa que se resuelve con MultiFactorSession.

Ejemplo

const multiFactorUser = multiFactor(auth.currentUser);
const multiFactorSession = await multiFactorUser.getSession();

// Send verification code.
const phoneAuthProvider = new PhoneAuthProvider(auth);
const phoneInfoOptions = {
  phoneNumber: phoneNumber,
  session: multiFactorSession
};
const verificationId = await phoneAuthProvider.verifyPhoneNumber(phoneInfoOptions, appVerifier);

// Obtain verification code from user.
const phoneAuthCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
const multiFactorAssertion = PhoneMultiFactorGenerator.assertion(phoneAuthCredential);
await multiFactorUser.enroll(multiFactorAssertion);

MultiFactorUser.unenroll()

Anula la inscripción del segundo factor especificado.

Para especificar el factor que quieres quitar, pasa un objeto MultiFactorInfo (recuperado de MultiFactorUser.enrolledFactors) o la cadena UID del factor. Las sesiones no se revocan cuando se da de baja la cuenta. Es probable que el usuario reciba una notificación por correo electrónico sobre el cambio. Se requiere una reautenticación reciente para que esta operación se realice correctamente. Cuando se da de baja un factor existente, se envía una notificación por correo electrónico al correo electrónico del usuario.

Firma:

unenroll(option: MultiFactorInfo | string): Promise<void>;

Parámetros

Parámetro Tipo Descripción
option MultiFactorInfo | cadena La opción de varios factores para darte de baja.

Muestra:

Promesa<void>

  • Una Promise que se resuelve cuando finaliza la operación para dar de baja la inscripción.

Ejemplo

const multiFactorUser = multiFactor(auth.currentUser);
// Present user the option to choose which factor to unenroll.
await multiFactorUser.unenroll(multiFactorUser.enrolledFactors[i])