MultiFactorUser interface

Interfejs określający właściwości i operacje związane z wielopoziomowymi elementami, które dotyczą użytkownika.

Podpis:

export interface MultiFactorUser 

Właściwości

Właściwość Typ Opis
enrolledFactors MultiFactorInfo[] Zwraca listę drugich czynników zarejestrowanych przez użytkownika.

Metody

Metoda Opis
enroll(assertion, displayName) Rejestruje drugi składnik określony przez MultiFactorAssertion użytkownika.
getSession() Zwraca identyfikator sesji dla operacji rejestracji dwuskładnikowej. Służy do identyfikowania użytkownika próbującego zarejestrować drugi składnik.
wyrejestrowanie(opcja) Wyrejestrowuje podany drugi składnik.

Użytkownik MultiFactor.enrolledFactors

Zwraca listę drugich czynników zarejestrowanych przez użytkownika.

Podpis:

readonly enrolledFactors: MultiFactorInfo[];

MultiFactorUser.enroll()

Rejestruje drugi składnik określony przez MultiFactorAssertion użytkownika.

Po rozwiązaniu problemu tokeny użytkowników są aktualizowane tak, aby odzwierciedlały zmianę w ładunku JWT. Akceptuje dodatkowy parametr wyświetlanej nazwy używany do identyfikowania drugiego składnika dla użytkownika. Aby ta operacja się powiodła, wymagane jest niedawne ponowne uwierzytelnianie. Po rejestracji dotychczasowe sesje Firebase (tokeny odświeżania) zostają unieważnione. Po zarejestrowaniu nowego składnika jest wysyłane e-mail z powiadomieniem na adres e-mail użytkownika.

Podpis:

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

Parametry

Parametr Typ Opis
asercja Assertion wieloskładnikowy Potwierdzenie wielopoziomowe do rejestracji.
wyświetlanaNazwa ciąg znaków | wartość null Wyświetlana nazwa drugiego składnika.

Zwroty:

Obietnica<void>

Przykład

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

Zwraca identyfikator sesji dla operacji rejestracji dwuskładnikowej. Służy do identyfikowania użytkownika próbującego zarejestrować drugi składnik.

Podpis:

getSession(): Promise<MultiFactorSession>;

Zwroty:

Obietnica<MultiFactorSession>

obietnicę płynącą z MultiFactorSession.

Przykład

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

Wyrejestrowuje podany drugi składnik.

Aby określić współczynnik do usunięcia, przekaż obiekt MultiFactorInfo (pobrany z MultiFactorUser.enrolledFactors) lub ciąg identyfikatora UID współczynnika. Sesje nie są unieważniane po wyrejestrowaniu konta. Użytkownik prawdopodobnie otrzyma e-maila z powiadomieniem o zmianie. Aby ta operacja się powiodła, wymagane jest niedawne ponowne uwierzytelnianie. Gdy istniejący czynnik zostanie wyrejestrowany, na adres e-mail użytkownika zostanie wysłane powiadomienie.

Podpis:

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

Parametry

Parametr Typ Opis
option MultiFactorInfo | tekst opcja wyrejestrowania się z wielopoziomu;

Zwroty:

Obietnica<void>

  • Promise, który wyłącza się po zakończeniu operacji wyrejestrowywania.

Przykład

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