Extiende Firebase Authentication con Cloud Functions

Puedes activar Cloud Functions en respuesta a la creación o eliminación de cuentas de usuario a través de Firebase Authentication. Por ejemplo, podrías 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() para crear una función que se active cuando se crea un usuario de Firebase:

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

Enviar comentarios sobre...

Si necesitas ayuda, visita nuestra página de asistencia.