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