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