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

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

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

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

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

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

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

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

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

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

Из пользовательских данных возвращаются к вашей функции, вы можете получить доступ к списку атрибутов пользователя доступен в появившемся пользователя 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) => {
  // ...
});