Personalizar el flujo de autenticación con funciones asíncronas
En este documento se explica cómo ampliar la autenticación de Identity Platform mediante funciones de Cloud Run asíncronas.
Las funciones asíncronas te permiten activar tareas no bloqueadoras en respuesta a la creación y eliminación de usuarios. Son útiles para iniciar operaciones de larga duración o realizar tareas auxiliares, como enviar un correo de bienvenida.
Para modificar directamente el resultado de una operación de autenticación, consulta Ampliar la autenticación con funciones de bloqueo. El objeto de usuario que recibe una función asíncrona no contiene actualizaciones de la función de bloqueo.
Antes de empezar
Crea una aplicación con Identity Platform. Consulta la guía de inicio rápido para saber cómo hacerlo.
Crear una función asíncrona
Para crear y desplegar una función asíncrona, sigue los pasos que se indican en el artículo Empezar: escribir, probar y desplegar tus primeras funciones.
Responder a la creación de usuarios
El evento onCreate
se activa cada vez que se crea una cuenta de usuario. Esto incluye las sesiones anónimas y las cuentas creadas con el SDK de administrador. La función no se activa cuando un usuario inicia sesión por primera vez con un token personalizado.
En el siguiente ejemplo se muestra cómo registrar un controlador para onCreate
:
Node.js
exports.myFunction = functions.auth.user().onCreate((user) => {
// TODO.
});
Responder a la eliminación de usuarios
El evento onDelete
se activa cada vez que se elimina una cuenta de usuario. En el siguiente ejemplo se muestra cómo registrar un controlador para onDelete
:
Node.js
exports.myFunction = functions.auth.user().onDelete((user) => {
// TODO.
});
Obtener información de los usuarios
Los eventos onCreate
y onDelete
proporcionan objetos User
y EventContext
que contienen información sobre el usuario creado o eliminado. Por ejemplo:
Node.js
exports.myFunction = functions.auth.user().onCreate((user, context) => {
const email = user.email; // The email of the user.
const displayName = user.displayName; // The display name of the user.
});
Consulta la referencia de la API UserRecord
y la referencia de la API EventContext
para ver una lista de los campos disponibles.
Siguientes pasos
- Amplía la autenticación con funciones de bloqueo.
- Consulta más información sobre las funciones de Cloud Run.