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