Функции можно запускать в ответ на создание и удаление аккаунтов пользователей Firebase Authentication. Например, можно отправить приветственное письмо пользователю, который только что создал аккаунт в вашем приложении. Примеры на этой странице основаны на образце, который делает именно это – отправляет приветственные и прощальные письма при создании и удалении аккаунта.
Другие примеры использования приведены в статье Что можно делать с помощью Cloud Functions.
Как активировать функцию при создании пользователя
Вы можете создать функцию, которая будет срабатывать при создании пользователя Authentication с помощью обработчика событий functions.auth.user().onCreate():
exports.sendWelcomeEmail = functions.runWith({secrets: [emailApiKey]}).auth.user().onCreate((user) => { // ... });
Аккаунты Authentication будут активировать события создания пользователей для Cloud Functions в следующих случаях:
- Пользователь создает аккаунт электронной почты и пароль.
- Пользователь впервые входит в аккаунт, используя федеративного поставщика идентификационной информации.
- Разработчик создает аккаунт с помощью 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: [emailApiKey]}).auth.user().onDelete((user) => { // ... });
Функции блокировки триггеров
Если вы перешли на тарифный план Firebase Authentication with Identity Platform, вы можете продлить Firebase Authentication, заблокировав Cloud Functions.
Функции блокировки позволяют выполнять собственный код, который изменяет результат регистрации или входа пользователя в ваше приложение. Например, вы можете запретить пользователю аутентификацию, если он не соответствует определенным критериям, или обновить информацию о пользователе, прежде чем вернуть ее в клиентское приложение.