Saltar al contenido principal
El desencadenador Post-user Registration se ejecuta después de que se agrega un usuario a una conexión de base de datos o a una Conexión.
Diagrama del flujo Post User Registration de Actions.
Las Actions de este flujo no son bloqueantes (asíncronas), lo que significa que el proceso de Auth0 continuará ejecutándose sin esperar a que la Action termine de ejecutarse. Por lo tanto, el resultado de la Action no afecta a la transacción de Auth0.

Activadores

Post User Registration

El desencadenador post-user-registration se ejecuta después de que se crea un usuario en una conexión de base de datos o sin contraseña. Este desencadenador puede usarse para notificar a otro sistema que un usuario se ha registrado en su aplicación. Se pueden asociar varias Actions a este desencadenador, y las Actions se ejecutarán en orden. Sin embargo, estas Actions se ejecutan de forma asíncrona y no bloquean el proceso de registro del usuario.

Referencias

  • Objeto de evento: Proporciona información contextual sobre el usuario recién creado.
  • Objeto de API: Proporciona métodos para modificar el comportamiento del flujo.

Casos de uso habituales

Notificar a Slack cuando se registre un nuevo usuario

/**
* Controlador que se invocará durante la ejecución de un flujo PostUserRegistration.
* 
 * @param {Event} event - Detalles sobre el contexto y el usuario que se ha registrado.
 * @param {PostUserRegistrationAPI} api - Interfaz cuyos métodos pueden usarse para modificar el comportamiento del registro posterior al registro de usuarios.
 */

exports.onExecutePostUserRegistration = async (event, api) => {
  const { IncomingWebhook } = require("@slack/webhook");
  const webhook = new IncomingWebhook(event.secrets.SLACK_WEBHOOK_URL);

  const text = `New User: ${event.user.email}`;
  const channel = '#some_channel';

  webhook.send({ text, channel });
};
Para que esta Action se ejecute correctamente, debe contener un secreto llamado SLACK_WEBHOOK_URL y tener una dependencia del paquete de npm @slack/webhook.

Almacenar el id de usuario de Auth0 en un sistema remoto

Se puede usar una Action posterior al registro del usuario para almacenar el id de usuario de Auth0 en un sistema remoto.
/**
* Controlador que se llamará durante la ejecución de un flujo PostUserRegistration.
* 
* @param {Event} event - Detalles sobre el contexto y el usuario que se ha registrado.
* @param {PostUserRegistrationAPI} api - Interfaz cuyos métodos pueden usarse para modificar el comportamiento del registro posterior al usuario.
*/

const axios = require("axios");

exports.onExecutePostUserRegistration = async (event, api) => {
  await axios.post("https://my-api.exampleco.com/users", { params: { email: event.user.email }});
};
Para usar una biblioteca de npm como axios, debes agregarla a la Action como dependencia. Para obtener más información, consulta la sección “Agregar una dependencia” en Write Your First Action.

Denegar el acceso a huellas digitales JA3/JA4 específicas

El objeto event.security_context contiene los valores de las huellas digitales JA3/JA4 de la transacción actual.
exports.onExecutePreUserRegistration = async (event, api) => {
  const clientJa4 = event?.security_context?.ja4;
  console.log('[ACTION]', {clientJa4});
  const badFingerprints = ['t13d1517h2_8daaf6152771_b6f405a00624','t13d1516h2_8daaf6152771_d8a2da3f94cd'];
  if (clientJa4 && badFingerprints.includes(clientJa4)){
    api.access.deny('suspicious_tls_fingerprint', 'Your TLS fingerprint has been flagged as suspicious');
  }
};