MultiFactorUser interface

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

Firma:

export interface MultiFactorUser 

Propiedades

Propiedad Escribe Descripción
factores inscritos MultiFactorInfo [] Devuelve una lista de los segundos factores inscritos del usuario.

Métodos

Método Descripción
enrolar (afirmación, displayName) Inscribe un segundo factor identificado por MultiFactorAssertion para el usuario.
getSession() Devuelve el identificador de sesión para una operación de registro de segundo factor. Esto se utiliza para identificar al usuario que intenta inscribir un segundo factor.
darse de baja (opción) Anula la inscripción del segundo factor especificado.

MultiFactorUser.enrolledFactors

Devuelve una lista de los segundos factores inscritos del usuario.

Firma:

readonly enrolledFactors: MultiFactorInfo[];

UsuarioMultiFactor.enroll()

Inscribe un segundo factor identificado por MultiFactorAssertion para el usuario.

En 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 que se utiliza para identificar el segundo factor para el usuario final. Se requiere una reautenticación reciente para que esta operación tenga éxito. Si la inscripción se realiza correctamente, 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 Escribe Descripción
afirmación MultiFactorAserción La afirmación de múltiples factores para inscribirse.
nombre para mostrar cadena | nulo El nombre para mostrar del segundo factor.

Devoluciones:

Promesa <vacío>

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 registro de segundo factor. Esto se utiliza para identificar al usuario que intenta inscribir un segundo factor.

Firma:

getSession(): Promise<MultiFactorSession>;

Devoluciones:

Promise< MultiFactorSession >

La promesa que se resuelve con la 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 a eliminar, pase 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 se envíe una notificación por correo electrónico al usuario notificándole el cambio. Se requiere una reautenticación reciente para que esta operación tenga éxito. 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 Escribe Descripción
opción Información multifactorial | cuerda La opción multifactor para darse de baja.

Devoluciones:

Promesa <vacío>

  • 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])