Расширьте аутентификацию 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) => {
  // ...
});

Функции блокировки триггеров

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

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