了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

Триггеры аутентификации Firebase

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

Дополнительные примеры вариантов использования см. в разделе Что можно делать с облачными функциями? .

Активировать функцию при создании пользователя

Вы можете создать функцию, которая срабатывает при создании пользователя Firebase с помощью обработчика событий functions.auth.user().onCreate() :

exports.sendWelcomeEmail = functions.auth.user().onCreate((user) => {
  // ...
});

Учетные записи Firebase будут запускать события создания пользователей для облачных функций, когда:

  • Пользователь создает учетную запись электронной почты и пароль.
  • Пользователь впервые входит в систему с помощью федеративного поставщика удостоверений.
  • Разработчик создает учетную запись с помощью Firebase Admin SDK.
  • Пользователь входит в новый сеанс анонимной аутентификации в первый раз.

Событие Cloud Functions не запускается, когда пользователь впервые входит в систему с помощью пользовательского токена.

Доступ к атрибутам пользователя

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

const email = user.email; // The email of the user.
const displayName = user.displayName; // The display name of the user.

Запуск функции при удалении пользователя

Точно так же, как вы можете активировать функцию при создании пользователя, вы можете реагировать на события удаления пользователя. Используйте обработчик событий functions.auth.user().onDelete() , как показано ниже:

exports.sendByeEmail = functions.auth.user().onDelete((user) => {
  // ...
});

Функции блокировки запуска

Если вы перешли на Firebase Authentication с Identity Platform, вы можете расширить Firebase Authentication, заблокировав облачные функции .

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