MultiFactorUser interface

Eine Schnittstelle, die die multifaktorbezogenen Eigenschaften und Vorgänge eines Benutzers definiert .

Unterschrift:

export interface MultiFactorUser 

Eigenschaften

Eigentum Typ Beschreibung
eingeschriebene Faktoren MultiFactorInfo [] Gibt eine Liste der registrierten zweiten Faktoren des Benutzers zurück.

Methoden

Methode Beschreibung
enroll(assertion, displayName) Registriert einen zweiten Faktor, der durch die MultiFactorAssertion für den Benutzer identifiziert wird.
getSession() Gibt die Sitzungskennung für einen zweiten Faktor-Registrierungsvorgang zurück. Dies wird verwendet, um den Benutzer zu identifizieren, der versucht, einen zweiten Faktor zu registrieren.
Abmelden (Option) Hebt die Registrierung des angegebenen zweiten Faktors auf.

MultiFactorUser.enrolledFactors

Gibt eine Liste der registrierten zweiten Faktoren des Benutzers zurück.

Unterschrift:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

Registriert einen zweiten Faktor, der durch die MultiFactorAssertion für den Benutzer identifiziert wird.

Bei der Lösung werden die Benutzertokens aktualisiert, um die Änderung in der JWT-Nutzlast widerzuspiegeln. Akzeptiert einen zusätzlichen Anzeigenamensparameter, der zur Identifizierung des zweiten Faktors für den Endbenutzer verwendet wird. Für den Erfolg dieses Vorgangs ist eine kürzliche erneute Authentifizierung erforderlich. Bei erfolgreicher Registrierung werden bestehende Firebase-Sitzungen (Aktualisierungstokens) widerrufen. Wenn ein neuer Faktor registriert wird, wird eine E-Mail-Benachrichtigung an die E-Mail-Adresse des Benutzers gesendet.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Behauptung MultiFactorAssertion Die Multi-Faktor-Behauptung für die Anmeldung.
Anzeigename Zeichenfolge | Null Der Anzeigename des zweiten Faktors.

Kehrt zurück:

Versprechen<void>

Beispiel

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

Gibt die Sitzungskennung für einen zweiten Faktor-Registrierungsvorgang zurück. Dies wird verwendet, um den Benutzer zu identifizieren, der versucht, einen zweiten Faktor zu registrieren.

Unterschrift:

getSession(): Promise<MultiFactorSession>;

Kehrt zurück:

Versprechen< MultiFactorSession >

Das Versprechen, das mit der MultiFactorSession aufgelöst wird .

Beispiel

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

Hebt die Registrierung des angegebenen zweiten Faktors auf.

Um den zu entfernenden Faktor anzugeben, übergeben Sie ein MultiFactorInfo- Objekt (abgerufen von MultiFactorUser.enrolledFactors ). ) oder die UID-Zeichenfolge des Faktors. Sitzungen werden nicht widerrufen, wenn das Konto abgemeldet wird. Wahrscheinlich wird eine E-Mail-Benachrichtigung an den Benutzer gesendet, die ihn über die Änderung informiert. Für den Erfolg dieses Vorgangs ist eine kürzliche erneute Authentifizierung erforderlich. Wenn ein vorhandener Faktor abgemeldet wird, wird eine E-Mail-Benachrichtigung an die E-Mail-Adresse des Benutzers gesendet.

Unterschrift:

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

Parameter

Parameter Typ Beschreibung
Möglichkeit MultiFactorInfo | Zeichenfolge Die Multi-Faktor-Option zur Abmeldung.

Kehrt zurück:

Versprechen<void>

  • Ein Promise , das aufgelöst wird, wenn der Vorgang zum Aufheben der Registrierung abgeschlossen ist.

Beispiel

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