auth package

Аутентификация Firebase

Функции

Функция Описание
функция (приложение, ...)
getAuth (приложение) Возвращает экземпляр Auth, связанный с предоставленным FirebaseApp. . Если экземпляра не существует, инициализирует экземпляр Auth с зависимостями по умолчанию для конкретной платформы.
инициализироватьAuth (приложение, deps) Инициализирует экземпляр Auth с детальным контролем над зависимостями. .
функция (хранилище, ...)
getReactNativePersistence (хранилище) Возвращает объект персистентности, который обертывает AsyncStorage , импортированный из react-native или @react-native-community/async-storage , и может использоваться в поле зависимости персистентности в InitializeAuth(). .
функция (аутентификация, ...)
applyActionCode (аутентификация, oobCode) Применяет код подтверждения, отправленный пользователю по электронной почте или с помощью другого внешнего механизма.
beforeAuthStateChanged (аутентификация, обратный вызов, onAbort) Добавляет блокирующий обратный вызов, который выполняется до того, как изменение состояния аутентификации устанавливает нового пользователя.
checkActionCode (аутентификация, oobCode) Проверяет код подтверждения, отправленный пользователю по электронной почте или с помощью другого внешнего механизма.
submitPasswordReset(auth, oobCode, newPassword) Завершает процесс сброса пароля с учетом кода подтверждения и нового пароля.
ConnectAuthEmulator (аутентификация, URL, параметры) Изменяет экземпляр аутентификации для связи с эмулятором аутентификации Firebase вместо производственных служб аутентификации Firebase.
createUserWithEmailAndPassword (аутентификация, адрес электронной почты, пароль) Создает новую учетную запись пользователя, связанную с указанным адресом электронной почты и паролем.
fetchSignInMethodsForEmail(аутентификация, электронная почта) Получает список возможных методов входа для данного адреса электронной почты. Этот метод возвращает пустой список, если включена [Защита перечисления электронной почты](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection), независимо от количества методов аутентификации, доступных для указанный адрес электронной почты.
getMultiFactorResolver (аутентификация, ошибка) Предоставляет MultiFactorResolver , подходящий для завершения многофакторного потока.
getRedirectResult (аутентификация, преобразователь) Возвращает UserCredential из потока входа на основе перенаправления.
инициализироватьRecaptchaConfig (аутентификация) Загружает конфигурацию reCAPTCHA в экземпляр Auth .
isSignInWithEmailLink (аутентификация, emailLink) Проверяет, является ли входящая ссылка ссылкой для входа в систему со ссылкой электронной почты, подходящей для SignInWithEmailLink(). .
onAuthStateChanged (аутентификация, nextOrObserver, ошибка, завершено) Добавляет наблюдателя за изменениями в состоянии входа пользователя.
onIdTokenChanged (аутентификация, nextOrObserver, ошибка, завершено) Добавляет наблюдателя за изменениями в токене идентификатора вошедшего в систему пользователя.
revokeAccessToken (аутентификация, токен) Отменяет данный токен доступа. В настоящее время поддерживаются только токены доступа Apple OAuth.
sendPasswordResetEmail (аутентификация, электронная почта, actionCodeSettings) Отправляет электронное письмо для сброса пароля на указанный адрес электронной почты. Этот метод не выдает ошибку, если нет учетной записи пользователя с данным адресом электронной почты и включена [Защита перечисления электронной почты](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection). .
sendSignInLinkToEmail (аутентификация, электронная почта, actionCodeSettings) Отправляет ссылку для входа по электронной почте пользователю с указанным адресом электронной почты.
setPersistence (аутентификация, постоянство) Изменяет тип сохранения экземпляра Auth для текущего сохраненного сеанса Auth и применяет этот тип сохранения для будущих запросов на вход, включая вход с запросами на перенаправление.
ВойтиАнонимно(аутентификация) Асинхронно входит в систему как анонимный пользователь.
SignInWithCredential (аутентификация, учетные данные) Асинхронно входит в систему с указанными учетными данными.
SignInWithCustomToken (аутентификация, customToken) Асинхронный вход с использованием специального токена.
SignInWithEmailAndPassword (аутентификация, адрес электронной почты, пароль) Асинхронный вход в систему с использованием адреса электронной почты и пароля.
SignInWithEmailLink (аутентификация, адрес электронной почты, адрес электронной почты) Асинхронный вход в систему с использованием электронной почты и ссылки для входа в систему.
SignInWithPhoneNumber (аутентификация, номер телефона, appVerifier) Асинхронный вход в систему с использованием номера телефона.
SignInWithPopup (аутентификация, поставщик, преобразователь) Аутентифицирует клиент Firebase, используя поток аутентификации OAuth на основе всплывающего окна.
SignInWithRedirect (аутентификация, поставщик, преобразователь) Аутентифицирует клиент Firebase, используя поток полностраничного перенаправления.
выход из (аутентификация) Выполняет выход текущего пользователя.
updateCurrentUser (аутентификация, пользователь) Асинхронно устанавливает предоставленного пользователя как Auth.currentUser в экземпляре Auth .
useDeviceLanguage (аутентификация) Устанавливает текущий язык в соответствии с настройками устройства/браузера по умолчанию.
validatePassword (аутентификация, пароль) Проверяет пароль на соответствие политике паролей, настроенной для проекта или клиента.
verifyPasswordResetCode (аутентификация, код) Проверяет код сброса пароля, отправленный пользователю по электронной почте или с помощью другого внешнего механизма.
функция (ссылка, ...)
parseActionCodeURL (ссылка) Анализирует строку ссылки на действие электронной почты и возвращает ActionCodeURL , если ссылка действительна, в противном случае возвращает значение NULL.
функция(пользователь, ...)
удалитьПользователь (пользователь) Удаляет и выходит из системы пользователя.
getIdToken (пользователь, ForceRefresh) Возвращает веб-токен JSON (JWT), используемый для идентификации пользователя в службе Firebase.
getIdTokenResult (пользователь, ForceRefresh) Возвращает десериализованный веб-токен JSON (JWT), используемый для идентификации пользователя в службе Firebase.
linkWithCredential (пользователь, учетные данные) Связывает учетную запись пользователя с указанными учетными данными.
linkWithPhoneNumber (пользователь, номер телефона, appVerifier) Связывает учетную запись пользователя с указанным номером телефона.
linkWithPopup (пользователь, поставщик, преобразователь) Связывает проверенного поставщика с учетной записью пользователя с помощью потока OAuth на основе всплывающего окна.
linkWithRedirect (пользователь, поставщик, преобразователь) Связывает OAuthProvider с учетной записью пользователя, используя поток полностраничного перенаправления.
многофакторный (пользователь) MultiFactorUser, соответствующий пользователю.
reauthenticateWithCredential (пользователь, учетные данные) Повторно аутентифицирует пользователя, используя новые учетные данные.
reauthenticateWithPhoneNumber (пользователь, номер телефона, appVerifier) Повторно аутентифицирует пользователя, используя новые учетные данные телефона.
reauthenticateWithPopup (пользователь, поставщик, преобразователь) Повторно аутентифицирует текущего пользователя с помощью указанного OAuthProvider , используя поток OAuth на основе всплывающего окна.
reauthenticateWithRedirect (пользователь, поставщик, преобразователь) Повторно проверяет подлинность текущего пользователя с помощью указанного OAuthProvider, используя поток полностраничного перенаправления.
перезагрузить (пользователь) Перезагружает данные учетной записи пользователя, если он выполнен.
sendEmailVerification (пользователь, actionCodeSettings) Отправляет пользователю электронное письмо с подтверждением.
отсоединить (пользователь, идентификатор поставщика) Отвязывает провайдера от учетной записи пользователя.
updateEmail (пользователь, новый адрес электронной почты) Обновляет адрес электронной почты пользователя.
updatePassword (пользователь, новый пароль) Обновляет пароль пользователя.
updatePhoneNumber (пользователь, учетные данные) Обновляет номер телефона пользователя.
updateProfile (пользователь, { displayName, photoURL: photoUrl }) Обновляет данные профиля пользователя.
verifyBeforeUpdateEmail(пользователь, newEmail, actionCodeSettings) Отправляет письмо с подтверждением на новый адрес электронной почты.
функция (userCredential, ...)
getAdditionalUserInfo(userCredential) Извлекает дополнительную информацию о дополнительном пользователе, специфичную для поставщика, для заданных учетных данных.

Классы

Сорт Описание
Код действияURL Класс утилиты для анализа URL-адресов действий электронной почты, таких как сброс пароля, проверка электронной почты, вход по ссылке электронной почты и т. д.
Ауткредентиал Интерфейс, представляющий учетные данные, возвращаемые AuthProvider. .
EmailAuthCredential Интерфейс, представляющий учетные данные, возвращаемые EmailAuthProvider для ProviderId. .ПАРОЛЬ
EmailAuthProvider Поставщик для генерации EmailAuthCredential .
FacebookAuthProvider Поставщик для создания OAuthCredential для ProviderId .ФЕЙСБУК.
GithubAuthProvider Поставщик для создания OAuthCredential для ProviderId .ГИХАБ.
GoogleAuthProvider Поставщик для создания OAuthCredential для ProviderId .GOOGLE.
OAuthCredential Представляет учетные данные OAuth, возвращаемые OAuthProvider . .
ОАуспровайдер Поставщик для создания общего OAuthCredential. .
PhoneAuthCredential Представляет учетные данные, возвращаемые PhoneAuthProvider. .
PhoneAuthProvider Поставщик для создания PhoneAuthCredential .
ТелефонМультифакторныйгенератор Поставщик для создания PhoneMultiFactorAssertion .
RecaptchaVerifier РеКАПЧА верификатор приложений на основе.
SAMLAuthProvider Поставщик аутентификации для SAML.
ТотпМультиФакторГенератор Поставщик для создания TotpMultiFactorAssertion .
ТотпСекрет Поставщик для создания TotpMultiFactorAssertion . Хранит общий секретный ключ и другие параметры для генерации одноразовых паролей на основе времени. Реализует методы для получения общего секретного ключа и создания URL-адреса QR-кода.
TwitterAuthProvider Поставщик для создания OAuthCredential для ProviderId .Твиттер.

Интерфейсы

Интерфейс Описание
ActionCodeInfo Ответ от checkActionCode() .
Настройки кода действия Интерфейс, который определяет необходимый URL-адрес продолжения/состояния с дополнительными идентификаторами пакета Android и iOS.
Дополнительная информация о пользователе Структура, содержащая дополнительную информацию о пользователе от федеративного поставщика удостоверений.
ПриложениеVerifier Верификатор для проверки домена и предотвращения злоупотреблений.
Авторизация Интерфейс, представляющий службу Firebase Auth.
Ошибка авторизации Интерфейс для ошибки Auth .
Аутерерормап Сопоставление кодов ошибок с сообщениями об ошибках.
Аутпровайдер Интерфейс, представляющий поставщика аутентификации, используемый для облегчения создания AuthCredential. .
Настройки аутентификации Интерфейс, представляющий настройки экземпляра Auth .
Конфигурация Интерфейс, представляющий конфигурацию Auth .
Результат подтверждения Результат входа в систему, установления связи или повторной аутентификации по номеру телефона.
Зависимости Зависимости, которые можно использовать для инициализации экземпляра Auth .
Конфигурация Эмулятора Настройка эмулятора аутентификации Firebase.
ИдТокенРезультат Интерфейс, представляющий результат токена идентификатора, полученный из User.getIdTokenResult() .
Многофакторное утверждение Базовый класс для подтверждения владения вторым фактором.
Многофакторная ошибка Ошибка, возникающая, когда пользователю необходимо предоставить второй фактор для успешного входа.
Мультифакторинфо Структура, содержащая информацию о втором факторе.
Многофакторный резольвер Класс, используемый для облегчения восстановления после MultiFactorError , когда пользователю необходимо предоставить второй фактор для входа.
Многофакторная сессия Интерфейс, определяющий объект многофакторного сеанса, используемый для регистрации второго фактора пользователя или помощи в входе зарегистрированного пользователя со вторым фактором.
Многофакторный пользователь Интерфейс, который определяет многофакторные свойства и операции, относящиеся к пользователю. .
Оаускредентиоптионс Определяет параметры инициализации OAuthCredential . .
Анализируемый токен Интерфейс, представляющий проанализированный токен идентификатора.
Политика паролей Структура, определяющая требования политики паролей.
Статус проверки пароля Структура, указывающая, какие требования политики паролей были соблюдены или нарушены и каковы эти требования.
Упорство Интерфейс, охватывающий возможные типы механизмов сохранения.
ТелефонМногофакторное утверждение Класс для подтверждения владения вторым фактором телефона. Предоставлено PhoneMultiFactorGenerator.assertion() .
PhoneMultiFactorEnrollInfoOptions Опции, используемые для регистрации второго фактора.
ТелефонMultiFactorИнформация Подкласс интерфейса MultiFactorInfo для вторых факторов номера телефона. factorId этого второго фактора — FactorId. .ТЕЛЕФОН.
PhoneMultiFactorSignInInfoOptions Параметры, используемые для входа со вторым фактором.
ТелефонСинглФакторИнфоОптионс Параметры, используемые для однофакторного входа.
PopupRedirectResolver Резолвер, используемый для обработки конкретных операций DOM, таких как SignInWithPopup() или SignInWithRedirect(). .
ReactNativeAsyncStorage Интерфейс для предоставленного AsyncStorage .
Параметры рекапчи Интерфейс, представляющий параметры reCAPTCHA. Список допустимых параметров см. в [документации reCAPTCHA](https://developers.google.com/recaptcha/docs/display#render_param). Принимаются все параметры, за исключением sitekey : Firebase Auth предоставляет reCAPTCHA для каждого проекта и настроит ключ сайта при рендеринге. Для невидимого reCAPTCHA установите для ключа size значение invisible .
TotpMultiFactorAssertion Класс для подтверждения владения вторым фактором TOTP. Предоставляется TotpMultiFactorGenerator.assertionForEnrollment() и TotpMultiFactorGenerator.assertionForSignIn(). .
ТотпМультиФакторИнфо Подкласс интерфейса MultiFactorInfo для вторых факторов TOTP. factorId этого второго фактора — FactorId. .ТОТР.
Пользователь Учетная запись пользователя.
Учетные данные пользователя Структура, содержащая пользователя , Тип операции и идентификатор поставщика.
Информация о пользователе Информация профиля пользователя, видимая только приложениям проекта Firebase.
Пользовательские метаданные Интерфейс, представляющий метаданные пользователя.

Переменные

Переменная Описание
ActionCodeOperation Перечень возможных типов действий по электронной почте.
Коды авторизации Карта потенциальных кодов ошибок Auth для упрощения сравнения с ошибками, выдаваемыми SDK.
браузерLocalPersistence Реализация сохраняемости типа LOCAL с использованием localStorage для базового хранилища.
браузерPopupRedirectResolver Реализация PopupRedirectResolver , подходящая для браузерных приложений.
браузерSessionPersistence Реализация сохраняемости SESSION с использованием sessionStorage для базового хранилища.
CordovaPopupRedirectResolver Реализация PopupRedirectResolver , подходящая для приложений на основе Cordova.
отладочная карта ошибок Подробная карта ошибок с подробным описанием большинства кодов ошибок. См. обсуждение на AuthErrorMap.
ФакторИд Перечень факторов, которые можно использовать для многофакторной аутентификации.
indexedDBLocalPersistence Реализация сохраняемости типа LOCAL с использованием indexedDB для базового хранилища.
inMemoryPersistence Реализация постоянства типа NONE.
Тип операции Перечисление поддерживаемых типов операций.
продErrorMap Минимальная карта ошибок, из которой удалены все подробные сообщения об ошибках. См. обсуждение на AuthErrorMap.
идентификатор поставщика Перечень поддерживаемых провайдеров.
SignInMethod Перечень поддерживаемых методов входа.

Введите псевдонимы

Введите псевдоним Описание
Пользовательские параметры Карта пользовательских параметров OAuth.
СледующийИлиОбсервер Определение типа для обратного вызова события.
ТелефонИнформацияПараметры Информация, необходимая для подтверждения принадлежности номера телефона.
Профиль пользователя Профиль пользователя, используемый в ExtraUserInfo .

функция (приложение, ...)

getAuth (приложение)

Возвращает экземпляр Auth, связанный с предоставленным FirebaseApp. . Если экземпляра не существует, инициализирует экземпляр Auth с зависимостями по умолчанию для конкретной платформы.

Подпись:

export declare function getAuth(app?: FirebaseApp): Auth;

Параметры

Параметр Тип Описание
приложение FirebaseApp Приложение Firebase.

Возврат:

Авторизация

инициализироватьAuth (приложение, deps)

Инициализирует экземпляр Auth с детальным контролем над зависимостями. .

Эта функция обеспечивает больший контроль над экземпляром Auth , чем getAuth(). . getAuth использует настройки по умолчанию для конкретной платформы для предоставления зависимостей . . В общем, getAuth — это самый простой способ инициализировать аутентификацию, который подходит для большинства случаев использования. Используйте initializeAuth если вам нужен контроль над тем, какой уровень сохранения используется, или для минимизации размера пакета, если вы не используете signInWithPopup или signInWithRedirect . .

Например, если ваше приложение использует только анонимные учетные записи и вы хотите, чтобы учетные записи сохранялись только для текущего сеанса, инициализируйте Auth с помощью:

const auth = initializeAuth(app, {
  persistence: browserSessionPersistence,
  popupRedirectResolver: undefined,
});

Подпись:

export declare function initializeAuth(app: FirebaseApp, deps?: Dependencies): Auth;

Параметры

Параметр Тип Описание
приложение FirebaseApp
глубины Зависимости

Возврат:

Авторизация

функция (хранилище, ...)

getReactNativePersistence (хранилище)

Возвращает объект персистентности, который обертывает AsyncStorage , импортированный из react-native или @react-native-community/async-storage и может использоваться в поле зависимости персистентности в InitializeAuth(). .

Подпись:

export declare function getReactNativePersistence(storage: ReactNativeAsyncStorage): Persistence;

Параметры

Параметр Тип Описание
хранилище ReactNativeAsyncStorage

Возврат:

Упорство

функция (аутентификация, ...)

applyActionCode (аутентификация, oobCode)

Применяет код подтверждения, отправленный пользователю по электронной почте или с помощью другого внешнего механизма.

Подпись:

export declare function applyActionCode(auth: Auth, oobCode: string): Promise<void>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
oobCode нить Код подтверждения отправлен пользователю.

Возврат:

Обещание<void>

beforeAuthStateChanged (аутентификация, обратный вызов, onAbort)

Добавляет блокирующий обратный вызов, который выполняется до того, как изменение состояния аутентификации устанавливает нового пользователя.

Подпись:

export declare function beforeAuthStateChanged(auth: Auth, callback: (user: User | null) => void | Promise<void>, onAbort?: () => void): Unsubscribe;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
перезвонить (пользователь: Пользователь | ноль) => void | Обещание<void> обратный вызов срабатывает до того, как будет установлено новое значение пользователя. Если это выдает ошибку, установка пользователя блокируется.
onAbort () => недействительно обратный вызов срабатывает, если более поздний обратный вызов beforeAuthStateChanged() вызывает, что позволяет отменить любые побочные эффекты.

Возврат:

Отписаться

checkActionCode (аутентификация, oobCode)

Проверяет код подтверждения, отправленный пользователю по электронной почте или с помощью другого внешнего механизма.

Подпись:

export declare function checkActionCode(auth: Auth, oobCode: string): Promise<ActionCodeInfo>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
oobCode нить Код подтверждения отправлен пользователю.

Возврат:

Обещание < ActionCodeInfo >

метаданные о коде.

submitPasswordReset(auth, oobCode, newPassword)

Завершает процесс сброса пароля с учетом кода подтверждения и нового пароля.

Подпись:

export declare function confirmPasswordReset(auth: Auth, oobCode: string, newPassword: string): Promise<void>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
oobCode нить Код подтверждения, отправленный пользователю.
Новый пароль нить Новый пароль.

Возврат:

Обещание<void>

ConnectAuthEmulator (аутентификация, URL, параметры)

Изменяет экземпляр аутентификации для связи с эмулятором аутентификации Firebase вместо производственных служб аутентификации Firebase.

Это должно быть вызвано синхронно сразу после первого вызова InitializeAuth(). . Не используйте с рабочими учетными данными, поскольку трафик эмулятора не шифруется.

Подпись:

export declare function connectAuthEmulator(auth: Auth, url: string, options?: {
    disableWarnings: boolean;
}): void;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
URL нить URL-адрес, по которому запущен эмулятор (например, «http://localhost:9099»).
параметры {disableWarnings: логическое значение; } Необязательный. options.disableWarnings по умолчанию имеет значение false . Установите для него значение true , чтобы отключить предупреждающий баннер, прикрепленный к DOM.

Возврат:

пустота

Пример

connectAuthEmulator(auth, 'http://127.0.0.1:9099', { disableWarnings: true });

createUserWithEmailAndPassword (аутентификация, адрес электронной почты, пароль)

Создает новую учетную запись пользователя, связанную с указанным адресом электронной почты и паролем.

При успешном создании учетной записи этот пользователь также войдет в ваше приложение.

Создание учетной записи пользователя может завершиться неудачей, если учетная запись уже существует или пароль недействителен.

Подпись:

export declare function createUserWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
электронная почта нить Адрес электронной почты пользователя.
пароль нить Выбранный пользователем пароль.

Возврат:

Обещание < UserCredential >

fetchSignInMethodsForEmail(аутентификация, электронная почта)

Получает список возможных методов входа для данного адреса электронной почты. Этот метод возвращает пустой список, если включена [Защита перечисления электронной почты](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection), независимо от количества методов аутентификации, доступных для указанный адрес электронной почты.

Это полезно для различения методов входа в систему для одного и того же провайдера, например. EmailAuthProvider , который имеет 2 метода входа: SignInMethod. .EMAIL_PASSWORD и SignInMethod .EMAIL_LINK.

Подпись:

export declare function fetchSignInMethodsForEmail(auth: Auth, email: string): Promise<string[]>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
электронная почта нить Адрес электронной почты пользователя. Устарело. В качестве рекомендации по обеспечению безопасности рекомендуется отказаться от этого метода. Дополнительную информацию см. в документации Identity Platform для [Защиты от перечисления электронной почты](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection).

Возврат:

Обещание<string[]>

getMultiFactorResolver (аутентификация, ошибка)

Предоставляет MultiFactorResolver , подходящий для завершения многофакторного потока.

Подпись:

export declare function getMultiFactorResolver(auth: Auth, error: MultiFactorError): MultiFactorResolver;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
ошибка Многофакторная ошибка Ошибка MultiFactorError , возникающая во время операции входа или повторной аутентификации.

Возврат:

Многофакторный резольвер

getRedirectResult (аутентификация, преобразователь)

Возвращает UserCredential из потока входа на основе перенаправления.

Если вход выполнен успешно, возвращает вошедшего пользователя. Если вход не удался, происходит сбой с ошибкой. Если операция перенаправления не вызывалась, возвращает значение null .

Этот метод не работает в среде Node.js.

Подпись:

export declare function getRedirectResult(auth: Auth, resolver?: PopupRedirectResolver): Promise<UserCredential | null>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
резольвер PopupRedirectResolver Экземпляр PopupRedirectResolver. , необязательно, если уже указано в InitializeAuth() или предоставлено getAuth() .

Возврат:

Обещание< UserCredential | ноль>

Пример

// Sign in using a redirect.
const provider = new FacebookAuthProvider();
// You can add additional scopes to the provider:
provider.addScope('user_birthday');
// Start a sign in process for an unauthenticated user.
await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
if (result) {
  // This is the signed-in user
  const user = result.user;
  // This gives you a Facebook Access Token.
  const credential = provider.credentialFromResult(auth, result);
  const token = credential.accessToken;
}
// As this API can be used for sign-in, linking and reauthentication,
// check the operationType to determine what triggered this redirect
// operation.
const operationType = result.operationType;

инициализироватьRecaptchaConfig (аутентификация)

Загружает конфигурацию reCAPTCHA в экземпляр Auth .

Это загрузит конфигурацию reCAPTCHA, которая указывает, должен ли запускаться поток проверки reCAPTCHA для каждого поставщика аутентификации, в текущий сеанс аутентификации.

Если метод InitializeRecaptchaConfig() не вызывается, поток аутентификации всегда будет запускаться без проверки reCAPTCHA. Если поставщик настроен на требование проверки reCAPTCHA, SDK прозрачно загрузит конфигурацию reCAPTCHA и перезапустит потоки аутентификации.

Таким образом, вызвав этот необязательный метод, вы уменьшите задержку будущих потоков аутентификации. Ранняя загрузка конфигурации reCAPTCHA также улучшит качество сигнала, собираемого reCAPTCHA.

Этот метод не работает в среде Node.js.

Подпись:

export declare function initializeRecaptchaConfig(auth: Auth): Promise<void>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.

Возврат:

Обещание<void>

Пример

initializeRecaptchaConfig(auth);

Проверяет, является ли входящая ссылка ссылкой для входа в систему со ссылкой электронной почты, подходящей для SignInWithEmailLink(). .

Подпись:

export declare function isSignInWithEmailLink(auth: Auth, emailLink: string): boolean;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
электронная почтаСсылка нить Ссылка отправлена ​​на адрес электронной почты пользователя.

Возврат:

логическое значение

onAuthStateChanged (аутентификация, nextOrObserver, ошибка, завершено)

Добавляет наблюдателя за изменениями в состоянии входа пользователя.

Чтобы сохранить старое поведение, см. onIdTokenChanged(). .

Подпись:

export declare function onAuthStateChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
СледующийОрОбсервер СледующийИлиОбсервер < Пользователь > обратный вызов срабатывает при изменении.
ошибка ОшибкаFn Устарело. Этот обратный вызов никогда не запускается. Ошибки при входе/выходе могут быть обнаружены в обещаниях, возвращаемых функциями входа/выхода.
завершенный ЗавершитьFn Устарело. Этот обратный вызов никогда не запускается.

Возврат:

Отписаться

onIdTokenChanged (аутентификация, nextOrObserver, ошибка, завершено)

Добавляет наблюдателя за изменениями в токене идентификатора вошедшего в систему пользователя.

Сюда входят события входа, выхода и обновления токена. Это не будет срабатывать автоматически по истечении срока действия токена идентификатора. Используйте User.getIdToken() , чтобы обновить токен идентификатора.

Подпись:

export declare function onIdTokenChanged(auth: Auth, nextOrObserver: NextOrObserver<User>, error?: ErrorFn, completed?: CompleteFn): Unsubscribe;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
СледующийОрОбсервер СледующийИлиОбсервер < Пользователь > обратный вызов срабатывает при изменении.
ошибка ОшибкаFn Устарело. Этот обратный вызов никогда не запускается. Ошибки при входе/выходе могут быть обнаружены в обещаниях, возвращаемых функциями входа/выхода.
завершенный ЗавершитьFn Устарело. Этот обратный вызов никогда не запускается.

Возврат:

Отписаться

revokeAccessToken (аутентификация, токен)

Отменяет данный токен доступа. В настоящее время поддерживаются только токены доступа Apple OAuth.

Подпись:

export declare function revokeAccessToken(auth: Auth, token: string): Promise<void>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
жетон нить Токен доступа Apple OAuth.

Возврат:

Обещание<void>

sendPasswordResetEmail (аутентификация, электронная почта, actionCodeSettings)

Отправляет электронное письмо для сброса пароля на указанный адрес электронной почты. Этот метод не выдает ошибку, если нет учетной записи пользователя с данным адресом электронной почты и включена [Защита перечисления электронной почты](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection). .

Чтобы завершить сброс пароля, вызовите метод submitPasswordReset() , указав код, указанный в электронном письме, отправленном пользователю, а также новый пароль, указанный пользователем.

Подпись:

export declare function sendPasswordResetEmail(auth: Auth, email: string, actionCodeSettings?: ActionCodeSettings): Promise<void>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
электронная почта нить Адрес электронной почты пользователя.
Настройки кода действия Настройки кода действия Настройки кода действия .

Возврат:

Обещание<void>

Пример

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendPasswordResetEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain code from user.
await confirmPasswordReset('user@example.com', code);

sendSignInLinkToEmail (аутентификация, электронная почта, actionCodeSettings)

Отправляет ссылку для входа по электронной почте пользователю с указанным адресом электронной почты.

Операцию входа в систему всегда необходимо выполнять в приложении, в отличие от других внешних действий с электронной почтой (сброс пароля и проверка электронной почты). Это связано с тем, что в конце потока ожидается, что пользователь войдет в систему, и его состояние аутентификации сохранится в приложении.

Чтобы завершить вход с помощью ссылки электронной почты, вызовите функцию SignInWithEmailLink(), указав адрес электронной почты и ссылку электронной почты, указанные в электронном письме, отправленном пользователю.

Подпись:

export declare function sendSignInLinkToEmail(auth: Auth, email: string, actionCodeSettings: ActionCodeSettings): Promise<void>;

Параметры

Параметр Тип Описание
авторизация Авторизация
электронная почта нить Адрес электронной почты пользователя.
Настройки кода действия Параметры кода действия Параметры кода действия .

Возврат:

Обещание<void>

Пример

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendSignInLinkToEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain emailLink from the user.
if(isSignInWithEmailLink(auth, emailLink)) {
  await signInWithEmailLink(auth, 'user@example.com', emailLink);
}

setPersistence (аутентификация, постоянство)

Изменяет тип сохранения экземпляра Auth для текущего сохраненного сеанса Auth и применяет этот тип сохранения для будущих запросов на вход, включая вход с запросами на перенаправление.

Это позволяет пользователю, входящему в систему, указать, следует ли запоминать его сеанс или нет. Это также упрощает сохранение состояния Auth для приложений, которые используются другими пользователями или содержат конфиденциальные данные.

Этот метод не работает в среде Node.js.

Подпись:

export declare function setPersistence(auth: Auth, persistence: Persistence): Promise<void>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
упорство Упорство Настойчивость в использовании.

Возврат:

Обещание<void>

Promise , которое выполняется после завершения изменения персистентности.

Пример

setPersistence(auth, browserSessionPersistence);

ВойтиАнонимно(аутентификация)

Асинхронно входит в систему как анонимный пользователь.

Если в систему уже вошел анонимный пользователь, этот пользователь будет возвращен; в противном случае будет создано и возвращено новое анонимное имя пользователя.

Подпись:

export declare function signInAnonymously(auth: Auth): Promise<UserCredential>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.

Возврат:

Обещание < UserCredential >

SignInWithCredential (аутентификация, учетные данные)

Асинхронно входит в систему с указанными учетными данными.

AuthProvider можно использовать для создания учетных данных.

Подпись:

export declare function signInWithCredential(auth: Auth, credential: AuthCredential): Promise<UserCredential>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
полномочия Ауткредентиал Учетные данные аутентификации.

Возврат:

Обещание < UserCredential >

SignInWithCustomToken (аутентификация, customToken)

Асинхронный вход с использованием специального токена.

Пользовательские токены используются для интеграции Firebase Auth с существующими системами аутентификации и должны создаваться серверной частью аутентификации с помощью метода createCustomToken в Admin SDK .

Завершится с ошибкой, если токен недействителен, срок его действия истек или не принят службой аутентификации Firebase.

Подпись:

export declare function signInWithCustomToken(auth: Auth, customToken: string): Promise<UserCredential>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
CustomToken нить Пользовательский токен для входа.

Возврат:

Обещание < UserCredential >

SignInWithEmailAndPassword (аутентификация, адрес электронной почты, пароль)

Асинхронный вход в систему с использованием адреса электронной почты и пароля.

Завершится с ошибкой, если адрес электронной почты и пароль не совпадают. Если [Защита перечисления электронной почты](https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) включена, этот метод завершается с ошибкой «auth/invalid-credential» в случае недействительного пароль от электронной почты.

Подпись:

export declare function signInWithEmailAndPassword(auth: Auth, email: string, password: string): Promise<UserCredential>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
электронная почта нить Адрес электронной почты пользователя.
пароль нить Пароль пользователя.

Возврат:

Обещание < UserCredential >

Асинхронный вход в систему с использованием электронной почты и ссылки для входа в систему.

Если ссылка не передана, она выводится из текущего URL-адреса.

Завершится с ошибкой, если адрес электронной почты недействителен или срок действия OTP в ссылке на электронную почту истек.

Подпись:

export declare function signInWithEmailLink(auth: Auth, email: string, emailLink?: string): Promise<UserCredential>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
электронная почта нить Адрес электронной почты пользователя.
электронная почтаСсылка нить Ссылка отправлена ​​на адрес электронной почты пользователя.

Возврат:

Обещание < UserCredential >

Пример

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendSignInLinkToEmail(auth, 'user@example.com', actionCodeSettings);
// Obtain emailLink from the user.
if(isSignInWithEmailLink(auth, emailLink)) {
  await signInWithEmailLink(auth, 'user@example.com', emailLink);
}

SignInWithPhoneNumber (аутентификация, номер телефона, appVerifier)

Асинхронный вход в систему с использованием номера телефона.

Этот метод отправляет код по SMS на указанный номер телефона и возвращает ConfirmationResult. . После того как пользователь предоставит код, отправленный на его телефон, вызовите ConfirmationResult.confirm() , указав код, чтобы войти в систему.

Для предотвращения злоупотреблений этому методу также требуется ApplicationVerifier . . Этот SDK включает реализацию на основе reCAPTCHA, RecaptchaVerifier. . Эта функция может работать на других платформах, которые не поддерживают RecaptchaVerifier (например, React Native), но вам необходимо использовать стороннюю реализацию ApplicationVerifier .

Этот метод не работает в среде Node.js.

Подпись:

export declare function signInWithPhoneNumber(auth: Auth, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
номер телефона нить Номер телефона пользователя в формате E.164 (например, +16505550101).
appVerifier ПриложениеVerifier ПриложениеVerifier .

Возврат:

Обещание < Результат подтверждения >

Пример

// 'recaptcha-container' is the ID of an element in the DOM.
const applicationVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
const confirmationResult = await signInWithPhoneNumber(auth, phoneNumber, applicationVerifier);
// Obtain a verificationCode from the user.
const credential = await confirmationResult.confirm(verificationCode);

SignInWithPopup (аутентификация, поставщик, преобразователь)

Аутентифицирует клиент Firebase, используя поток аутентификации OAuth на основе всплывающего окна.

В случае успеха возвращает вошедшего в систему пользователя вместе с учетными данными поставщика. Если вход не удался, возвращает объект ошибки, содержащий дополнительную информацию об ошибке.

Этот метод не работает в среде Node.js.

Подпись:

export declare function signInWithPopup(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
поставщик Аутпровайдер Поставщик для аутентификации. Поставщик должен быть OAuthProvider. . Поставщики, не поддерживающие OAuth, такие как EmailAuthProvider , выдадут ошибку.
резольвер PopupRedirectResolver Экземпляр PopupRedirectResolver. , необязательно, если уже указано в InitializeAuth() или предоставлено getAuth() .

Возврат:

Обещание < UserCredential >

Пример

// Sign in using a popup.
const provider = new FacebookAuthProvider();
const result = await signInWithPopup(auth, provider);

// The signed-in user info.
const user = result.user;
// This gives you a Facebook Access Token.
const credential = provider.credentialFromResult(auth, result);
const token = credential.accessToken;

SignInWithRedirect (аутентификация, поставщик, преобразователь)

Аутентифицирует клиент Firebase, используя поток полностраничного перенаправления.

Чтобы обработать результаты и ошибки этой операции, обратитесь к getRedirectResult(). . Следуйте рекомендациям при использовании SignInWithRedirect(). .

Этот метод не работает в среде Node.js.

Подпись:

export declare function signInWithRedirect(auth: Auth, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
поставщик Аутпровайдер Поставщик для аутентификации. Поставщик должен быть OAuthProvider. . Поставщики, не поддерживающие OAuth, такие как EmailAuthProvider , выдадут ошибку.
резольвер PopupRedirectResolver Экземпляр PopupRedirectResolver. , необязательно, если уже указано в InitializeAuth() или предоставлено getAuth() .

Возврат:

Обещай <никогда>

Пример

// Sign in using a redirect.
const provider = new FacebookAuthProvider();
// You can add additional scopes to the provider:
provider.addScope('user_birthday');
// Start a sign in process for an unauthenticated user.
await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
if (result) {
  // This is the signed-in user
  const user = result.user;
  // This gives you a Facebook Access Token.
  const credential = provider.credentialFromResult(auth, result);
  const token = credential.accessToken;
}
// As this API can be used for sign-in, linking and reauthentication,
// check the operationType to determine what triggered this redirect
// operation.
const operationType = result.operationType;

выход (аутентификация)

Выполняет выход текущего пользователя.

Подпись:

export declare function signOut(auth: Auth): Promise<void>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.

Возврат:

Обещание<void>

updateCurrentUser (аутентификация, пользователь)

Асинхронно устанавливает предоставленного пользователя как Auth.currentUser в экземпляре Auth .

Будет создана новая копия предоставленного пользователя и установлена ​​как currentUser.

Это запустит прослушиватели onAuthStateChanged() и onIdTokenChanged() , как и другие методы входа.

Операция завершается ошибкой, если обновляемый пользователь принадлежит другому проекту Firebase.

Подпись:

export declare function updateCurrentUser(auth: Auth, user: User | null): Promise<void>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
пользователь Пользователь | нулевой Новый пользователь .

Возврат:

Обещание<void>

useDeviceLanguage (аутентификация)

Устанавливает текущий язык в соответствии с настройками устройства/браузера по умолчанию.

Подпись:

export declare function useDeviceLanguage(auth: Auth): void;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.

Возврат:

пустота

validatePassword (аутентификация, пароль)

Проверяет пароль на соответствие политике паролей, настроенной для проекта или клиента.

Если в экземпляре Auth не установлен идентификатор клиента, этот метод будет использовать политику паролей, настроенную для проекта. В противном случае этот метод будет использовать политику, настроенную для клиента. Если политика паролей не настроена, будет использоваться политика по умолчанию, настроенная для всех проектов.

Если поток аутентификации завершается сбоем из-за того, что отправленный пароль не соответствует требованиям политики паролей и этот метод был вызван ранее, то при повторном вызове этот метод будет использовать самую последнюю доступную политику.

Подпись:

export declare function validatePassword(auth: Auth, password: string): Promise<PasswordValidationStatus>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
пароль нить Пароль для проверки.

Возврат:

Обещание < Статус проверки пароля >

Пример

validatePassword(auth, 'some-password');

verifyPasswordResetCode (аутентификация, код)

Проверяет код сброса пароля, отправленный пользователю по электронной почте или с помощью другого внешнего механизма.

Подпись:

export declare function verifyPasswordResetCode(auth: Auth, code: string): Promise<string>;

Параметры

Параметр Тип Описание
авторизация Авторизация Экземпляр аутентификации.
код нить Код подтверждения отправлен пользователю.

Возврат:

Обещание<строка>

адрес электронной почты пользователя, если он действителен.

parseActionCodeURL (ссылка)

Анализирует строку ссылки на действие электронной почты и возвращает ActionCodeURL , если ссылка действительна, в противном случае возвращает значение NULL.

Подпись:

export declare function parseActionCodeURL(link: string): ActionCodeURL | null;

Параметры

Параметр Тип Описание
связь нить

Возврат:

КодДействияURL | нулевой

функция(пользователь, ...)

удалитьПользователь (пользователь)

Удаляет и выходит из системы пользователя.

Подпись:

export declare function deleteUser(user: User): Promise<void>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.

Возврат:

Обещание<void>

getIdToken (пользователь, ForceRefresh)

Возвращает веб-токен JSON (JWT), используемый для идентификации пользователя в службе Firebase.

Возвращает текущий токен, если срок его действия не истек или срок его действия не истечет в течение следующих пяти минут. В противном случае токен будет обновлен и возвращен новый.

Подпись:

export declare function getIdToken(user: User, forceRefresh?: boolean): Promise<string>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
принудительное обновление логическое значение Принудительное обновление независимо от истечения срока действия токена.

Возврат:

Обещание<строка>

getIdTokenResult (пользователь, ForceRefresh)

Возвращает десериализованный веб-токен JSON (JWT), используемый для идентификации пользователя в службе Firebase.

Возвращает текущий токен, если срок его действия не истек или срок его действия не истечет в течение следующих пяти минут. В противном случае токен будет обновлен и возвращен новый.

Подпись:

export declare function getIdTokenResult(user: User, forceRefresh?: boolean): Promise<IdTokenResult>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
принудительное обновление логическое значение Принудительное обновление независимо от истечения срока действия токена.

Возврат:

Обещание < IdTokenResult >

linkWithCredential (пользователь, учетные данные)

Связывает учетную запись пользователя с указанными учетными данными.

AuthProvider можно использовать для создания учетных данных.

Подпись:

export declare function linkWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
полномочия Ауткредентиал Учетные данные аутентификации.

Возврат:

Обещание < UserCredential >

linkWithPhoneNumber (пользователь, номер телефона, appVerifier)

Связывает учетную запись пользователя с указанным номером телефона.

Этот метод не работает в среде Node.js.

Подпись:

export declare function linkWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
номер телефона нить Номер телефона пользователя в формате E.164 (например, +16505550101).
appVerifier ПриложениеVerifier ПриложениеVerifier .

Возврат:

Обещание < Результат подтверждения >

linkWithPopup (пользователь, поставщик, преобразователь)

Связывает проверенного поставщика с учетной записью пользователя с помощью всплывающего окна OAuth.

Если связывание прошло успешно, возвращаемый результат будет содержать пользователя и учетные данные поставщика.

Этот метод не работает в среде Node.js.

Подпись:

export declare function linkWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
поставщик Аутпровайдер Поставщик для аутентификации. Поставщик должен быть OAuthProvider. . Поставщики, не поддерживающие OAuth, такие как EmailAuthProvider , выдадут ошибку.
резольвер PopupRedirectResolver Экземпляр PopupRedirectResolver. , необязательно, если уже указано в InitializeAuth() или предоставлено getAuth() .

Возврат:

Обещание < UserCredential >

Пример

// Sign in using some other provider.
const result = await signInWithEmailAndPassword(auth, email, password);
// Link using a popup.
const provider = new FacebookAuthProvider();
await linkWithPopup(result.user, provider);

linkWithRedirect (пользователь, поставщик, преобразователь)

Связывает OAuthProvider с учетной записью пользователя, используя поток полностраничного перенаправления.

Чтобы обработать результаты и ошибки этой операции, обратитесь к getRedirectResult(). . Следуйте рекомендациям при использовании linkWithRedirect(). .

Этот метод не работает в среде Node.js.

Подпись:

export declare function linkWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
поставщик Аутпровайдер Поставщик для аутентификации. Поставщик должен быть OAuthProvider. . Поставщики, не поддерживающие OAuth, такие как EmailAuthProvider , выдадут ошибку.
резольвер PopupRedirectResolver Экземпляр PopupRedirectResolver. , необязательно, если уже указано в InitializeAuth() или предоставлено getAuth() .

Возврат:

Обещай <никогда>

Пример

// Sign in using some other provider.
const result = await signInWithEmailAndPassword(auth, email, password);
// Link using a redirect.
const provider = new FacebookAuthProvider();
await linkWithRedirect(result.user, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);

многофакторный (пользователь)

MultiFactorUser, соответствующий пользователю.

Это используется для доступа ко всем многофакторным свойствам и операциям, связанным с пользователем.

Подпись:

export declare function multiFactor(user: User): MultiFactorUser;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.

Возврат:

Многофакторный пользователь

Reauteenticate WithCredential (пользователь, учетные данные)

Повторно использует пользователя, используя новые учетные данные.

Используйте перед операциями, такими как UpdatePassword () , которые требуют токенов от недавних попыток входа. Этот метод может использоваться для восстановления после ошибки CREDENTIAL_TOO_OLD_LOGIN_AGAIN или ошибки TOKEN_EXPIRED .

Подпись:

export declare function reauthenticateWithCredential(user: User, credential: AuthCredential): Promise<UserCredential>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
полномочия Authcredential АВТОМОБИЛЬНАЯ ДИРЕМЕНТИНА.

Возврат:

Обещание < usercredential >

ReautenticateWithPhoneNumber (пользователь, PhonNembumber, AppVerifier)

Повторно использует пользователя, используя новые учетные данные по телефону.

Используйте перед операциями, такими как UpdatePassword () , которые требуют токенов от недавних попыток входа.

Этот метод не работает в среде node.js.

Подпись:

export declare function reauthenticateWithPhoneNumber(user: User, phoneNumber: string, appVerifier: ApplicationVerifier): Promise<ConfirmationResult>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
номер телефона нить Номер телефона пользователя в формате E.164 (например, +16505550101).
AppVerifier ApplicationVerifier ApplicationVerifier .

Возврат:

Обещание < подтверждение >

ReauteenticateWithPoPup (пользователь, поставщик, резолвер)

Повторно использует текущего пользователя с указанным OAuthProvider , используя всплывающий поток OAuth на основе.

Если повторное препарат будет успешным, возвращаемый результат будет содержать пользователя и учетные данные поставщика.

Этот метод не работает в среде node.js.

Подпись:

export declare function reauthenticateWithPopup(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<UserCredential>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
поставщик Authprovider Поставщик для аутентификации. Поставщик должен быть OauthProvider . Поставщики, не являющиеся OAUTH, такие как EmailAuthProvider, выпустят ошибку.
резольвер Popupredirectresolver Экземпляр Popupredirecterver , необязательно, если уже поставляется в initiazeauth () или предоставлен getauth () .

Возврат:

Обещание < usercredential >

Пример

// Sign in using a popup.
const provider = new FacebookAuthProvider();
const result = await signInWithPopup(auth, provider);
// Reauthenticate using a popup.
await reauthenticateWithPopup(result.user, provider);

Reauteenticate withredirect (Пользователь, поставщик, Resolver)

Повторно использует текущего пользователя с указанным OAuthProvider , используя полную перенаправление.

Чтобы обработать результаты и ошибки для этой операции, см. GetRedIrectResult () . Следуйте лучшим методам при использовании повторноподобного withredirect () .

Этот метод не работает в среде node.js.

Подпись:

export declare function reauthenticateWithRedirect(user: User, provider: AuthProvider, resolver?: PopupRedirectResolver): Promise<never>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
поставщик Authprovider Поставщик для аутентификации. Поставщик должен быть OauthProvider . Поставщики, не являющиеся OAUTH, такие как EmailAuthProvider, выпустят ошибку.
резольвер Popupredirectresolver Экземпляр Popupredirecterver , необязательно, если уже поставляется в initiazeauth () или предоставлен getauth () .

Возврат:

Обещай <никогда>

Пример

// Sign in using a redirect.
const provider = new FacebookAuthProvider();
const result = await signInWithRedirect(auth, provider);
// This will trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);
// Reauthenticate using a redirect.
await reauthenticateWithRedirect(result.user, provider);
// This will again trigger a full page redirect away from your app

// After returning from the redirect when your app initializes you can obtain the result
const result = await getRedirectResult(auth);

Перезагрузить (пользователь)

Перезагружает данные учетной записи пользователя, если подписано.

Подпись:

export declare function reload(user: User): Promise<void>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.

Возврат:

Обещание<void>

SendEmailverification (пользователь, ActionCodeSettings)

Отправляет проверку электронной почты пользователю.

Процесс проверки завершен, вызывая ApplyActionCode () .

Подпись:

export declare function sendEmailVerification(user: User, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
ActionCodeSettings ActionCodeSettings | нулевой ActionCodeSettings .

Возврат:

Обещание<void>

Пример

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await sendEmailVerification(user, actionCodeSettings);
// Obtain code from the user.
await applyActionCode(auth, code);

Не складывает поставщика из учетной записи пользователя.

Подпись:

export declare function unlink(user: User, providerId: string): Promise<User>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
Providerid нить Поставщик, чтобы раскрыть.

Возврат:

Обещание < Пользователь >

UpdateMail (пользователь, Newemail)

Обновляет адрес электронной почты пользователя.

Электронное письмо будет отправлено на исходный адрес электронной почты (если он был установлен), который позволяет отозвать изменение адреса электронной почты, чтобы защитить их от захвата учетной записи.

Подпись:

export declare function updateEmail(user: User, newEmail: string): Promise<void>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
Новый E-mail нить Новый адрес электронной почты. Ошибка «Auth/Operation Not-Allowed», когда [защита от перечисления электронной почты] (https://cloud.google.com/identity-platform/docs/admin/email-enumeration-protection) включена. Установите - используйте VerifybeforeUpdateemail () вместо этого.

Возврат:

Обещание<void>

UpdatePassword (пользователь, NewPassword)

Обновляет пароль пользователя.

Подпись:

export declare function updatePassword(user: User, newPassword: string): Promise<void>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
Новый пароль нить Новый пароль.

Возврат:

Обещание<void>

UpdatePhoneNumber (пользователь, учетные данные)

Обновляет номер телефона пользователя.

Этот метод не работает в среде node.js.

Подпись:

export declare function updatePhoneNumber(user: User, credential: PhoneAuthCredential): Promise<void>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
полномочия Phoneauthcredential Учетные данные, аутентифицирующие новый номер телефона.

Возврат:

Обещание<void>

Пример

// 'recaptcha-container' is the ID of an element in the DOM.
const applicationVerifier = new RecaptchaVerifier('recaptcha-container');
const provider = new PhoneAuthProvider(auth);
const verificationId = await provider.verifyPhoneNumber('+16505550101', applicationVerifier);
// Obtain the verificationCode from the user.
const phoneCredential = PhoneAuthProvider.credential(verificationId, verificationCode);
await updatePhoneNumber(user, phoneCredential);

UpdateProfile (user, {displayName, photourl: photourl})

Обновляет данные профиля пользователя.

Подпись:

export declare function updateProfile(user: User, { displayName, photoURL: photoUrl }: {
    displayName?: string | null;
    photoURL?: string | null;
}): Promise<void>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
{displayName, photourl: photourl} {DisplayName?: String | нулевой; Photourl?: String | нулевой; }

Возврат:

Обещание<void>

VerifybeforeUpdateemail (пользователь, Newemail, ActionCodeSettings)

Отправляет проверку по электронной почте на новый адрес электронной почты.

Электронная почта пользователя будет обновлена ​​до нового после проверки.

Если у вас есть пользовательский обработчик действий по электронной почте, вы можете завершить процесс проверки, вызывая ApplyActionCode () .

Подпись:

export declare function verifyBeforeUpdateEmail(user: User, newEmail: string, actionCodeSettings?: ActionCodeSettings | null): Promise<void>;

Параметры

Параметр Тип Описание
пользователь Пользователь Пользователь.
Новый E-mail нить Новый адрес электронной почты будет проверен перед обновлением.
ActionCodeSettings ActionCodeSettings | нулевой ActionCodeSettings .

Возврат:

Обещание<void>

Пример

const actionCodeSettings = {
  url: 'https://www.example.com/?email=user@example.com',
  iOS: {
     bundleId: 'com.example.ios'
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12'
  },
  handleCodeInApp: true
};
await verifyBeforeUpdateEmail(user, 'newemail@example.com', actionCodeSettings);
// Obtain code from the user.
await applyActionCode(auth, code);

Функция (usercredential, ...)

getAdditionalUserinfo (usercredential)

Извлекат специфический поставщик поставщика дополнительного USERINFO для данного учетных данных.

Подпись:

export declare function getAdditionalUserInfo(userCredential: UserCredential): AdditionalUserInfo | null;

Параметры

Параметр Тип Описание
usercredential Usercredential Учетный пользовательский сертификат.

Возврат:

ExtraUserinfo | нулевой

ActionCodeoperation

Перечисление возможных типов действий по электронной почте.

Подпись:

ActionCodeOperation: {
    readonly EMAIL_SIGNIN: "EMAIL_SIGNIN";
    readonly PASSWORD_RESET: "PASSWORD_RESET";
    readonly RECOVER_EMAIL: "RECOVER_EMAIL";
    readonly REVERT_SECOND_FACTOR_ADDITION: "REVERT_SECOND_FACTOR_ADDITION";
    readonly VERIFY_AND_CHANGE_EMAIL: "VERIFY_AND_CHANGE_EMAIL";
    readonly VERIFY_EMAIL: "VERIFY_EMAIL";
}

Автохроркордоды

Карта потенциальных кодов ошибок Auth . для более легкого сравнения с ошибками, брошенными SDK.

Обратите внимание, что вы не можете взорвать отдельные клавиши на карте, поэтому, используя карту, вы можете существенно увеличить размер пакета.

Подпись:

AUTH_ERROR_CODES_MAP_DO_NOT_USE_INTERNALLY: {
    readonly ADMIN_ONLY_OPERATION: "auth/admin-restricted-operation";
    readonly ARGUMENT_ERROR: "auth/argument-error";
    readonly APP_NOT_AUTHORIZED: "auth/app-not-authorized";
    readonly APP_NOT_INSTALLED: "auth/app-not-installed";
    readonly CAPTCHA_CHECK_FAILED: "auth/captcha-check-failed";
    readonly CODE_EXPIRED: "auth/code-expired";
    readonly CORDOVA_NOT_READY: "auth/cordova-not-ready";
    readonly CORS_UNSUPPORTED: "auth/cors-unsupported";
    readonly CREDENTIAL_ALREADY_IN_USE: "auth/credential-already-in-use";
    readonly CREDENTIAL_MISMATCH: "auth/custom-token-mismatch";
    readonly CREDENTIAL_TOO_OLD_LOGIN_AGAIN: "auth/requires-recent-login";
    readonly DEPENDENT_SDK_INIT_BEFORE_AUTH: "auth/dependent-sdk-initialized-before-auth";
    readonly DYNAMIC_LINK_NOT_ACTIVATED: "auth/dynamic-link-not-activated";
    readonly EMAIL_CHANGE_NEEDS_VERIFICATION: "auth/email-change-needs-verification";
    readonly EMAIL_EXISTS: "auth/email-already-in-use";
    readonly EMULATOR_CONFIG_FAILED: "auth/emulator-config-failed";
    readonly EXPIRED_OOB_CODE: "auth/expired-action-code";
    readonly EXPIRED_POPUP_REQUEST: "auth/cancelled-popup-request";
    readonly INTERNAL_ERROR: "auth/internal-error";
    readonly INVALID_API_KEY: "auth/invalid-api-key";
    readonly INVALID_APP_CREDENTIAL: "auth/invalid-app-credential";
    readonly INVALID_APP_ID: "auth/invalid-app-id";
    readonly INVALID_AUTH: "auth/invalid-user-token";
    readonly INVALID_AUTH_EVENT: "auth/invalid-auth-event";
    readonly INVALID_CERT_HASH: "auth/invalid-cert-hash";
    readonly INVALID_CODE: "auth/invalid-verification-code";
    readonly INVALID_CONTINUE_URI: "auth/invalid-continue-uri";
    readonly INVALID_CORDOVA_CONFIGURATION: "auth/invalid-cordova-configuration";
    readonly INVALID_CUSTOM_TOKEN: "auth/invalid-custom-token";
    readonly INVALID_DYNAMIC_LINK_DOMAIN: "auth/invalid-dynamic-link-domain";
    readonly INVALID_EMAIL: "auth/invalid-email";
    readonly INVALID_EMULATOR_SCHEME: "auth/invalid-emulator-scheme";
    readonly INVALID_IDP_RESPONSE: "auth/invalid-credential";
    readonly INVALID_LOGIN_CREDENTIALS: "auth/invalid-credential";
    readonly INVALID_MESSAGE_PAYLOAD: "auth/invalid-message-payload";
    readonly INVALID_MFA_SESSION: "auth/invalid-multi-factor-session";
    readonly INVALID_OAUTH_CLIENT_ID: "auth/invalid-oauth-client-id";
    readonly INVALID_OAUTH_PROVIDER: "auth/invalid-oauth-provider";
    readonly INVALID_OOB_CODE: "auth/invalid-action-code";
    readonly INVALID_ORIGIN: "auth/unauthorized-domain";
    readonly INVALID_PASSWORD: "auth/wrong-password";
    readonly INVALID_PERSISTENCE: "auth/invalid-persistence-type";
    readonly INVALID_PHONE_NUMBER: "auth/invalid-phone-number";
    readonly INVALID_PROVIDER_ID: "auth/invalid-provider-id";
    readonly INVALID_RECIPIENT_EMAIL: "auth/invalid-recipient-email";
    readonly INVALID_SENDER: "auth/invalid-sender";
    readonly INVALID_SESSION_INFO: "auth/invalid-verification-id";
    readonly INVALID_TENANT_ID: "auth/invalid-tenant-id";
    readonly MFA_INFO_NOT_FOUND: "auth/multi-factor-info-not-found";
    readonly MFA_REQUIRED: "auth/multi-factor-auth-required";
    readonly MISSING_ANDROID_PACKAGE_NAME: "auth/missing-android-pkg-name";
    readonly MISSING_APP_CREDENTIAL: "auth/missing-app-credential";
    readonly MISSING_AUTH_DOMAIN: "auth/auth-domain-config-required";
    readonly MISSING_CODE: "auth/missing-verification-code";
    readonly MISSING_CONTINUE_URI: "auth/missing-continue-uri";
    readonly MISSING_IFRAME_START: "auth/missing-iframe-start";
    readonly MISSING_IOS_BUNDLE_ID: "auth/missing-ios-bundle-id";
    readonly MISSING_OR_INVALID_NONCE: "auth/missing-or-invalid-nonce";
    readonly MISSING_MFA_INFO: "auth/missing-multi-factor-info";
    readonly MISSING_MFA_SESSION: "auth/missing-multi-factor-session";
    readonly MISSING_PHONE_NUMBER: "auth/missing-phone-number";
    readonly MISSING_SESSION_INFO: "auth/missing-verification-id";
    readonly MODULE_DESTROYED: "auth/app-deleted";
    readonly NEED_CONFIRMATION: "auth/account-exists-with-different-credential";
    readonly NETWORK_REQUEST_FAILED: "auth/network-request-failed";
    readonly NULL_USER: "auth/null-user";
    readonly NO_AUTH_EVENT: "auth/no-auth-event";
    readonly NO_SUCH_PROVIDER: "auth/no-such-provider";
    readonly OPERATION_NOT_ALLOWED: "auth/operation-not-allowed";
    readonly OPERATION_NOT_SUPPORTED: "auth/operation-not-supported-in-this-environment";
    readonly POPUP_BLOCKED: "auth/popup-blocked";
    readonly POPUP_CLOSED_BY_USER: "auth/popup-closed-by-user";
    readonly PROVIDER_ALREADY_LINKED: "auth/provider-already-linked";
    readonly QUOTA_EXCEEDED: "auth/quota-exceeded";
    readonly REDIRECT_CANCELLED_BY_USER: "auth/redirect-cancelled-by-user";
    readonly REDIRECT_OPERATION_PENDING: "auth/redirect-operation-pending";
    readonly REJECTED_CREDENTIAL: "auth/rejected-credential";
    readonly SECOND_FACTOR_ALREADY_ENROLLED: "auth/second-factor-already-in-use";
    readonly SECOND_FACTOR_LIMIT_EXCEEDED: "auth/maximum-second-factor-count-exceeded";
    readonly TENANT_ID_MISMATCH: "auth/tenant-id-mismatch";
    readonly TIMEOUT: "auth/timeout";
    readonly TOKEN_EXPIRED: "auth/user-token-expired";
    readonly TOO_MANY_ATTEMPTS_TRY_LATER: "auth/too-many-requests";
    readonly UNAUTHORIZED_DOMAIN: "auth/unauthorized-continue-uri";
    readonly UNSUPPORTED_FIRST_FACTOR: "auth/unsupported-first-factor";
    readonly UNSUPPORTED_PERSISTENCE: "auth/unsupported-persistence-type";
    readonly UNSUPPORTED_TENANT_OPERATION: "auth/unsupported-tenant-operation";
    readonly UNVERIFIED_EMAIL: "auth/unverified-email";
    readonly USER_CANCELLED: "auth/user-cancelled";
    readonly USER_DELETED: "auth/user-not-found";
    readonly USER_DISABLED: "auth/user-disabled";
    readonly USER_MISMATCH: "auth/user-mismatch";
    readonly USER_SIGNED_OUT: "auth/user-signed-out";
    readonly WEAK_PASSWORD: "auth/weak-password";
    readonly WEB_STORAGE_UNSUPPORTED: "auth/web-storage-unsupported";
    readonly ALREADY_INITIALIZED: "auth/already-initialized";
    readonly RECAPTCHA_NOT_ENABLED: "auth/recaptcha-not-enabled";
    readonly MISSING_RECAPTCHA_TOKEN: "auth/missing-recaptcha-token";
    readonly INVALID_RECAPTCHA_TOKEN: "auth/invalid-recaptcha-token";
    readonly INVALID_RECAPTCHA_ACTION: "auth/invalid-recaptcha-action";
    readonly MISSING_CLIENT_TYPE: "auth/missing-client-type";
    readonly MISSING_RECAPTCHA_VERSION: "auth/missing-recaptcha-version";
    readonly INVALID_RECAPTCHA_VERSION: "auth/invalid-recaptcha-version";
    readonly INVALID_REQ_TYPE: "auth/invalid-req-type";
}

Браузерлокальперсшист

Реализация настойчивости типа LOCAL с использованием localStorage для базового хранилища.

Подпись:

browserLocalPersistence: Persistence

Browserpopupredirectercerver

Реализация Popupredirecterver , подходящего для приложений на основе браузеров.

Этот метод не работает в среде node.js.

Подпись:

browserPopupRedirectResolver: PopupRedirectResolver

Браузерсессионность

Реализация стойкости SESSION с использованием sessionStorage для базового хранилища.

Подпись:

browserSessionPersistence: Persistence

Cordovapopupredirectresolver

Реализация Popupredirecterver , подходящего для приложений на основе Cordova.

Подпись:

cordovaPopupRedirectResolver: PopupRedirectResolver

DebugerRormap

Карта словесных ошибок с подробными описаниями для большинства кодов ошибок.

См. Обсуждение на Autherrormap

Подпись:

debugErrorMap: AuthErrorMap

Факторда

Перечисление факторов, которые могут использоваться для многофакторной аутентификации.

Подпись:

FactorId: {
    readonly PHONE: "phone";
    readonly TOTP: "totp";
}

IndexedDblocalPersistence

Реализация стойкости типа LOCAL с использованием indexedDB для базового хранилища.

Подпись:

indexedDBLocalPersistence: Persistence

InmemoryPersistence

Реализация настойчивости типа «нет».

Подпись:

inMemoryPersistence: Persistence

Операция

Перечисление поддерживаемых типов операций.

Подпись:

OperationType: {
    readonly LINK: "link";
    readonly REAUTHENTICATE: "reauthenticate";
    readonly SIGN_IN: "signIn";
}

Proderrormap

Минимальная карта ошибок со всеми словесными сообщениями об ошибках разбросано.

См. Обсуждение на Autherrormap

Подпись:

prodErrorMap: AuthErrorMap

Providerid

Перечисление поддерживаемых поставщиков.

Подпись:

ProviderId: {
    readonly FACEBOOK: "facebook.com";
    readonly GITHUB: "github.com";
    readonly GOOGLE: "google.com";
    readonly PASSWORD: "password";
    readonly PHONE: "phone";
    readonly TWITTER: "twitter.com";
}

SignInMethod

Перечисление поддерживаемых методов входа.

Подпись:

SignInMethod: {
    readonly EMAIL_LINK: "emailLink";
    readonly EMAIL_PASSWORD: "password";
    readonly FACEBOOK: "facebook.com";
    readonly GITHUB: "github.com";
    readonly GOOGLE: "google.com";
    readonly PHONE: "phone";
    readonly TWITTER: "twitter.com";
}

CustomParameters

Карта пользовательских параметров OAuth.

Подпись:

export declare type CustomParameters = Record<string, string>;

Nextorobserver

Определение типа для обратного вызова событий.

Подпись:

export declare type NextOrObserver<T> = NextFn<T | null> | Observer<T | null>;

PhoneInfooptions

Информация, необходимая для проверки владения номером телефона.

Требуемая информация зависит от того, выполняете ли вы однофакторную регистрацию, многофакторную регистрацию или многофакторную регистрацию.

Подпись:

export declare type PhoneInfoOptions = PhoneSingleFactorInfoOptions | PhoneMultiFactorEnrollInfoOptions | PhoneMultiFactorSignInInfoOptions;

Профиль пользователя

Пользовательский профиль используется в дополнительном OuserInfo .

Подпись:

export declare type UserProfile = Record<string, unknown>;