Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Gatilhos do Firebase Authentication

É possível acionar o Cloud Functions em resposta à criação e exclusão de contas de usuários do Firebase. Por exemplo, você pode enviar um e-mail de boas-vindas para um usuário que acabou de criar uma conta no seu app. Os exemplos nesta página são baseados em uma amostra que faz exatamente isso: envia e-mails de boas-vindas e despedidas após a criação e exclusão da conta.

Para mais exemplos de casos de uso, consulte O que posso fazer com o Cloud Functions?.

Acionar uma função na criação do usuário

É possível criar uma função que será acionada quando um usuário do Firebase for criado usando o manipulador de eventos functions.auth.user().onCreate():

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

As contas do Firebase acionarão eventos de criação de usuários para o Cloud Functions quando:

  • um usuário criar uma conta de e-mail e uma senha;
  • um usuário fizer login pela primeira vez com um provedor de identidade federado;
  • o desenvolvedor criar uma conta com o SDK Admin do Firebase;
  • um usuário fizer login em uma sessão de autenticação anônima pela primeira vez.

Um evento do Cloud Functions não é ativado quando um usuário faz login pela primeira vez usando um token personalizado.

Acessar os atributos do usuário

A partir dos dados do usuário retornados para sua função, você pode acessar a lista de atributos dele disponíveis no objeto UserRecord recém-criado. Por exemplo, é possível ver o e-mail e o nome de exibição do usuário conforme mostrado abaixo:

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

Acionar uma função na exclusão de um usuário

Além de acionar uma função na criação do usuário, você pode responder a eventos de exclusão de usuários. Use o manipulador de eventos functions.auth.user().onDelete() conforme mostrado:

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