Saltar al contenido principal
La fecha de fin de vida (EOL) de Rules y Hooks será el 18 de noviembre de 2026, y ya no están disponibles para nuevos inquilinos creados a partir del 16 de octubre de 2023. Los inquilinos existentes con Hooks activos conservarán el acceso al producto Hooks hasta su fin de vida.Le recomendamos encarecidamente que use Actions para extender Auth0. Con Actions, tiene acceso a información de tipos más completa, documentación en línea y paquetes públicos de npm, y puede conectar integraciones externas que mejoran su experiencia general de extensibilidad. Para obtener más información sobre lo que ofrece Actions, lea Comprender cómo funcionan las Actions de Auth0.Para ayudarle con la migración, ofrecemos guías que le ayudarán a migrar de Rules a Actions y migrar de Hooks a Actions. También contamos con una página dedicada de Migrar a Actions que destaca comparaciones de características, una demostración de Actions y otros recursos para ayudarle durante el proceso de migración.Para obtener más información sobre la deprecación de Rules y Hooks, lea nuestra entrada del blog: Preparación para el fin de vida de Rules y Hooks.
Como tenemos previsto eliminar las funciones de Rules y Hooks en 2026, debe crear nuevas Rules o Hooks solo en su entorno de desarrollo y únicamente para probar la migración a Actions.Para obtener más información sobre cómo migrar sus Rules a Actions, lea Migrar de Rules a Actions. Para obtener más información sobre cómo migrar sus Hooks a Actions, lea Migrar de Hooks a Actions.
Puede crear sus propias reglas para satisfacer sus requisitos específicos de funcionalidad. Puede modificar una plantilla de regla existente o empezar desde cero con uno de nuestros ejemplos. Auth0 proporciona varias reglas y plantillas de reglas existentes para ayudarle a alcanzar sus objetivos. Para ver una lista, visite nuestrorepositorio de reglas en GitHub.

Cómo funcionan las Rules

Las Rules son funciones de JavaScript que se ejecutan cuando un usuario se autentica en su aplicación. Se ejecutan una vez completado el proceso de autenticación, y puede usarlas para personalizar y ampliar las capacidades de Auth0. Por motivos de seguridad, el código de sus Rules se ejecuta de forma aislada del código de otros inquilinos de Auth0, en un entorno aislado. Las Rules también se ejecutan durante el flujo de actualización de tokens. Para obtener más información, consulte Tokens de actualización. En Auth0, el flujo de transacción de autenticación funciona de la siguiente manera cuando usa Rules:
Diagrama de las Rules en el flujo de autenticación
  1. Una aplicación inicia una solicitud de autenticación a Auth0.
  2. Auth0 enruta la solicitud a un proveedor de identidad mediante una conexión configurada.
  3. El usuario se autentica correctamente.
  4. El token de ID y/o el token de acceso pasan por el flujo de procesamiento de Rules y luego se envían a la aplicación.

Requisito previo

Si planea usar variables globales en su regla, asegúrese de configurar primero las variables de sus Rules. Para obtener más información, consulte Configurar variables globales para Rules.

Usar el Dashboard

  1. Vaya a Dashboard > Auth Pipeline > Rules y haga clic en Create.
    Dashboard - Auth Pipeline - Rules
  2. Seleccione una plantilla de regla.
    Dashboard - Auth Pipeline - Rules - Template
  3. Asigne un nombre a la regla, modifique el script según sus necesidades y haga clic en Save changes.
    Dashboard - Auth Pipeline - Rules - Edit Rule

Use Management API

Realice una llamada POST al endpoint Create Rule. Asegúrese de reemplazar los valores de marcador de posición MGMT_API_ACCESS_TOKEN, RULE_NAME, RULE_SCRIPT, RULE_ORDER y RULE_ENABLED por los valores correspondientes de su , el nombre de la regla, el script de la regla, el número de orden de la regla y el valor de habilitación de la regla, respectivamente.
ValorDescripción
MGMT_API_ACCESS_TOKENToken de acceso para la Management API con el scope create:rules.
RULE_NAMENombre de la regla que desea crear. El nombre de la regla solo puede contener caracteres alfanuméricos, espacios y guiones; no puede comenzar ni terminar con espacios ni guiones.
RULE_SCRIPTScript que contiene el código de la regla. Debe coincidir con lo que introduciría si creara una regla nueva desde el Dashboard.
RULE_ORDER (opcional)Entero que representa el orden en que debe ejecutarse la regla con respecto a otras reglas. Las reglas con números más bajos se ejecutan antes que las reglas con números más altos. Si no se proporciona ningún número de orden, la regla se ejecutará al final.
RULE_ENABLED (opcional)Booleano que indica si la regla está habilitada (true) o deshabilitada (false).
Exponemos direcciones IPv6 en nuestros endpoints públicos (por ejemplo, travel0.us.auth0.com). Si una solicitud llega desde una máquina compatible con IPv6, la propiedad context.request.ip contendrá una dirección IPv6. Si realiza una manipulación manual de direcciones IP, le sugerimos usar la biblioteca ipaddr.js@1.9.0.

Gestionar los límites de tasa

Para las Rules que llaman a las API de Auth0, siempre debe gestionar la limitación de tasa comprobando el encabezado X-RateLimit-Remaining y actuando según corresponda cuando el valor devuelto se aproxime a 0. También debe añadir lógica para gestionar los casos en los que supere los límites de tasa establecidos y reciba el código de estado HTTP 429 (Too Many Requests); en este caso, si es necesario reintentar, lo mejor es aplicar una espera progresiva para evitar entrar en un bucle infinito de reintentos. Para obtener más información sobre los límites de tasa, consulte Política de límites de tasa para las API de Auth0.

Módulos disponibles

Rules se ejecutan en un entorno aislado de JavaScript configurado para una versión específica de Node.js. El entorno aislado admite todas las versiones del lenguaje JavaScript (y la sintaxis asociada) de la versión configurada de Node.js, así como una gran cantidad de módulos de Node.js. Para obtener una lista de los módulos compatibles del entorno aislado, consulta Can I require: Auth0 Extensibility.

Más información