MultiFactorUser interface

Una interfaz que define las propiedades y operaciones relacionadas con múltiples factores pertenecientes a un usuario. .

Firma:

export interface MultiFactorUser 

Propiedades

Propiedad Tipo Descripción
factores inscritos Información MultiFactor [] Devuelve una lista de los segundos factores registrados del usuario.

Métodos

Método Descripción
inscribirse (aserción, nombre para mostrar) Inscribe un segundo factor identificado por MultiFactorAssertion para el usuario.
obtener sesión() Devuelve el identificador de sesión para una operación de inscripción de segundo factor. Esto se utiliza para identificar al usuario que intenta registrar un segundo factor.
darse de baja (opción) Cancela la inscripción del segundo factor especificado.

MultiFactorUser.enrolledFactors

Devuelve una lista de los segundos factores registrados del usuario.

Firma:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

Inscribe un segundo factor identificado por MultiFactorAssertion para el usuario.

En el momento de la resolución, los tokens de usuario se actualizan para reflejar el cambio en la carga útil de JWT. Acepta un parámetro de nombre para mostrar adicional utilizado para identificar el segundo factor para el usuario final. Se requiere una nueva autenticación reciente para que esta operación se realice correctamente. Tras una inscripción exitosa, las sesiones de Firebase existentes (tokens de actualización) se revocan. Cuando se inscribe un nuevo factor, 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
afirmación Aserción multifactor La afirmación multifactorial con la que inscribirse.
nombre para mostrar cadena | nulo El nombre para mostrar del segundo factor.

Devoluciones:

Promesa<nulo>

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()

Devuelve el identificador de sesión para una operación de inscripción de segundo factor. Esto se utiliza para identificar al usuario que intenta registrar un segundo factor.

Firma:

getSession(): Promise<MultiFactorSession>;

Devoluciones:

Promesa< Sesión MultiFactor >

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()

Cancela la inscripción del segundo factor especificado.

Para especificar el factor a eliminar, pase un objeto MultiFactorInfo (obtenido de MultiFactorUser.enrolledFactors ) o la cadena UID del factor. Las sesiones no se revocan cuando se cancela la inscripción de la cuenta. Es probable que se envíe una notificación por correo electrónico al usuario informándole del cambio. Se requiere una nueva autenticación reciente para que esta operación se realice correctamente. Cuando se cancela la inscripción de 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
opción Información MultiFactor | cadena La opción multifactor para cancelar la inscripción.

Devoluciones:

Promesa<nulo>

  • Una Promise que se resuelve cuando se completa la operación de cancelación de inscripción.

Ejemplo

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