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