Интерфейс, который определяет многофакторные свойства и операции, относящиеся к пользователю. .
Подпись:
export interface MultiFactorUser
Характеристики
Свойство | Тип | Описание |
---|---|---|
enrolledFactors | Мультифакторинфо [] | Возвращает список зарегистрированных вторых факторов пользователя. |
Методы
Метод | Описание |
---|---|
зарегистрироваться (утверждение, displayName) | Регистрирует второй фактор, определенный MultiFactorAssertion для пользователя. |
getSession() | Возвращает идентификатор сеанса для операции регистрации второго фактора. Это используется для идентификации пользователя, пытающегося зарегистрировать второй фактор. |
отменить регистрацию (опция) | Отменяет регистрацию указанного второго фактора. |
MultiFactorUser.enrolledFactors
Возвращает список зарегистрированных вторых факторов пользователя.
Подпись:
readonly enrolledFactors: MultiFactorInfo[];
MultiFactorUser.enroll()
Регистрирует второй фактор, определенный MultiFactorAssertion для пользователя.
При разрешении пользовательские токены обновляются, чтобы отразить изменение в полезных данных JWT. Принимает дополнительный параметр отображаемого имени, используемый для идентификации второго фактора конечному пользователю. Для успешного выполнения этой операции необходима недавняя повторная аутентификация. При успешной регистрации существующие сеансы Firebase (токены обновления) отменяются. При регистрации нового фактора на электронную почту пользователя отправляется уведомление.
Подпись:
enroll(assertion: MultiFactorAssertion, displayName?: string | null): Promise<void>;
Параметры
Параметр | Тип | Описание |
---|---|---|
утверждение | Многофакторное утверждение | Многофакторное утверждение для регистрации. |
отображаемое имя | строка | нулевой | Отображаемое имя второго фактора. |
Возврат:
Обещание<void>
Пример
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.
Мультифакторусер.getSession()
Возвращает идентификатор сеанса для операции регистрации второго фактора. Это используется для идентификации пользователя, пытающегося зарегистрировать второй фактор.
Подпись:
getSession(): Promise<MultiFactorSession>;
Возврат:
Обещание < MultiFactorSession >
Обещание, которое решается с помощью MultiFactorSession .
Пример
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()
Отменяет регистрацию указанного второго фактора.
Чтобы указать фактор, который нужно удалить, передайте объект MultiFactorInfo (полученный из MultiFactorUser.enrolledFactors ). ) или строку UID фактора. Сеансы не отменяются при отмене регистрации учетной записи. Уведомление по электронной почте, скорее всего, будет отправлено пользователю, уведомляющему его об изменении. Для успешного выполнения этой операции необходима недавняя повторная аутентификация. Если существующий фактор отменяется, на адрес электронной почты пользователя отправляется уведомление.
Подпись:
unenroll(option: MultiFactorInfo | string): Promise<void>;
Параметры
Параметр | Тип | Описание |
---|---|---|
вариант | Мультифакторинфо | нить | Многофакторная возможность отмены регистрации. |
Возврат:
Обещание<void>
-
Promise
, которое выполняется после завершения операции отмены регистрации.
Пример
const multiFactorUser = multiFactor(auth.currentUser);
// Present user the option to choose which factor to unenroll.
await multiFactorUser.unenroll(multiFactorUser.enrolledFactors[i])