Extiende Firebase Authentication con Cloud Functions

Puedes activar las funciones en respuesta a la creación o eliminación de cuentas de usuario de Firebase. Por ejemplo, puedes enviar un correo electrónico de bienvenida a un usuario que acaba de crear una cuenta en tu app. Los ejemplos de esta página se basan en una muestra que hace precisamente eso: envía correos electrónicos de bienvenida y de despedida cuando se crea y elimina una cuenta.

Para ver más ejemplos de casos de uso, consulta ¿Qué puedo hacer con Cloud Functions?

Activa una función cuando se crea un usuario

Puedes crear una función que se active cuando se cree un usuario de Firebase mediante el controlador de eventos functions.auth.user().onCreate():

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

Las cuentas de Firebase activarán eventos de creación de usuarios para Cloud Functions en los siguientes casos:

  • Un usuario crea una cuenta de correo electrónico y una contraseña.
  • Un usuario accede por primera vez con un proveedor de identidad federada.
  • El desarrollador crea una cuenta con el SDK de Firebase Admin.
  • Un usuario accede a una sesión de autenticación anónima por primera vez.

Un evento Cloud Functions no se activa cuando un usuario accede por primera vez con un token personalizado.

Accede a los atributos de usuario

A partir de los datos del usuario obtenidos mediante tu función, puedes acceder a la lista de atributos del usuario disponible en el objeto UserRecord del usuario creado recientemente. Por ejemplo, puedes obtener el correo electrónico y el nombre visible del usuario de la siguiente forma:

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

Activa una función cuando se borra un usuario

Así como puedes activar una función cuando se crea un usuario, puedes responder a los eventos de eliminación de usuarios. Usa el controlador de eventos functions.auth.user().onDelete() como se muestra a continuación:

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

Activa funciones de bloqueo

Si actualizaste a Firebase Authentication con Identity Platform, puedes extender Firebase Authentication con Cloud Functions de bloqueo.

Las funciones de bloqueo te permiten ejecutar un código personalizado que modifica el resultado de un usuario que se registra o accede a tu app. Por ejemplo, puedes evitar que se autentique un usuario si no cumple con ciertos criterios o actualizar la información de un usuario antes de mostrársela a tu app cliente.