MultiFactorUser interface

Un'interfaccia che definisce le proprietà e le operazioni correlate a più fattori relative a un Utente .

Firma:

export interface MultiFactorUser 

Proprietà

Proprietà Tipo Descrizione
iscrittiFattori MultiFactorInfo [] Restituisce un elenco dei secondi fattori registrati dell'utente.

Metodi

Metodo Descrizione
iscriversi(asserzione, displayName) Registra un secondo fattore identificato da MultiFactorAssertion per l'utente.
getSessione() Restituisce l'identificatore di sessione per un'operazione di registrazione a secondo fattore. Viene utilizzato per identificare l'utente che tenta di registrare un secondo fattore.
annullare l'iscrizione (opzione) Annulla la registrazione del secondo fattore specificato.

MultiFactorUser.enrolledFactors

Restituisce un elenco dei secondi fattori registrati dell'utente.

Firma:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.iscrizione()

Registra un secondo fattore identificato da MultiFactorAssertion per l'utente.

In fase di risoluzione, i token utente vengono aggiornati per riflettere la modifica nel payload JWT. Accetta un parametro aggiuntivo del nome visualizzato utilizzato per identificare il secondo fattore per l'utente finale. Affinché l'operazione abbia esito positivo, è necessaria una riautenticazione recente. Una volta completata la registrazione, le sessioni Firebase esistenti (token di aggiornamento) vengono revocate. Quando viene registrato un nuovo fattore, viene inviata una notifica via email all'indirizzo email dell'utente.

Firma:

enroll(assertion: MultiFactorAssertion, displayName?: string | null): Promise<void>;

Parametri

Parametro Tipo Descrizione
asserzione Asserzione multifattoriale L'asserzione multifattoriale con cui iscriversi.
nome da visualizzare stringa | nullo Il nome visualizzato del secondo fattore.

Ritorna:

Promesso<vuoto>

Esempio

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

Restituisce l'identificatore di sessione per un'operazione di registrazione a secondo fattore. Viene utilizzato per identificare l'utente che tenta di registrare un secondo fattore.

Firma:

getSession(): Promise<MultiFactorSession>;

Ritorna:

Promessa< MultiFactorSession >

La promessa che si risolve con la MultiFactorSession .

Esempio

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

Annulla la registrazione del secondo fattore specificato.

Per specificare il fattore da rimuovere, passare un oggetto MultiFactorInfo (recuperato da MultiFactorUser.enrolledFactors ) o la stringa UID del fattore. Le sessioni non vengono revocate quando l'account viene annullato. È probabile che venga inviata una notifica via email all'utente per informarlo della modifica. Affinché questa operazione abbia esito positivo, è necessaria una riautenticazione recente. Quando un fattore esistente viene annullato, viene inviata una notifica via email all'indirizzo email dell'utente.

Firma:

unenroll(option: MultiFactorInfo | string): Promise<void>;

Parametri

Parametro Tipo Descrizione
opzione MultiFactorInfo | corda L'opzione multifattore per annullare l'iscrizione.

Ritorna:

Promesso<vuoto>

  • Una Promise che si risolve al completamento dell'operazione di annullamento della registrazione.

Esempio

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