Ampliar o Firebase Authentication com o Cloud Functions

É possível acionar as funções em resposta à criação e exclusão de contas de usuários do Firebase. Por exemplo, você pode enviar um e-mail de apresentação 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 apresentação e de despedida após a criação e exclusão de contas.

Para mais exemplos de casos de uso, acesse 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

Com os 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) => {
  // ...
});

Acionar funções de bloqueio

Se você fez upgrade para o Firebase Authentication com o Identity Platform, pode usar o bloqueio do Cloud Functions para estender o Firebase Authentication.

As funções de bloqueio permitem que você execute um código personalizado que modifica o resultado de um usuário se registrando ou fazendo login no app. Por exemplo, é possível impedir que alguém faça a autenticação caso não atenda a determinados critérios ou atualizar as informações de um usuário antes de retornar esses dados ao app cliente.