Ir a la consola

Activadores de Firebase Authentication

Puedes activar Cloud Functions 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 exactamente eso: envía correos electrónicos de bienvenida y despedida cuando se crea y borra una cuenta, respectivamente.

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

Activa una función cuando se crea un usuario

Puedes usar el controlador de eventos functions.auth.user().onCreate() a fin de crear una función que se active cuando se crea un usuario de Firebase. Para ello, usa el siguiente código:

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