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