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