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

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

Дополнительные примеры использования см. в разделе «Что я могу делать с Cloud Functions .

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

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

exports.sendWelcomeEmail = functions.runWith({secrets: [gmailPassword]}).auth.user().onCreate((user) => {
  // ...
});

Создание пользователей в Cloud Functions будет запускаться при 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.runWith({secrets: [gmailPassword]}).auth.user().onDelete((user) => {
  // ...
});

Запуск блокирующих функций

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

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