Auth0 deja de ejecutar Rules y Hooks después del 18 de noviembre. Una Rule que deniega inicios de sesión deja de denegarlos

La página «Deprecations and Migrations» de Auth0 da tres fechas para las Rules y los Hooks: obsoletos desde el 16 de mayo de 2023, de solo lectura desde el 18 de noviembre de 2024, fin de vida el 18 de noviembre de 2026. La frase que sigue es corta: «After November 18, 2026, Rules and Hooks will stop being executed and removed», es decir, después del 18 de noviembre de 2026, las Rules y los Hooks dejarán de ejecutarse y se eliminarán.
El aviso al principio de la documentación de Rules y Hooks aclara a quién afecta. Ninguno de los dos productos está disponible para los tenants creados a partir del 16 de octubre de 2023. Los tenants existentes que los tenían los conservaron, y el sustituto es Actions, que Auth0 introdujo en 2020.
La población es, pues, precisa: cualquier tenant de Auth0 creado antes del 16 de octubre de 2023 que todavía tenga una Rule o un Hook activo. Antes de Actions, las Rules eran la forma de personalizar un inicio de sesión de Auth0, así que suele ser código antiguo en una ruta crítica.
Soy CTO de una LegalTech y publico apps de iOS como desarrollador independiente. El inicio de sesión es la parte de un producto que menos quiero ver alterada por el calendario de un proveedor. Así leo yo la fecha límite y esto es lo que comprobaría antes.
«Dejar de ejecutarse» no es «fallar»
Fíjate en lo que la página no dice. No dice que los inicios de sesión fallarán el 19 de noviembre. Dice que el código deja de ejecutarse. Suena más seguro de lo que es.
Las Rules se ejecutan en el pipeline posterior al login. Suelen hacer cuatro tipos de cosas: añadir claims personalizados a los tokens de ID y de acceso, activar la autenticación multifactor, escribir metadatos de usuario y denegar el acceso. Los Hooks cubren otros momentos: el intercambio de credenciales de cliente, el pre-registro de usuario, el post-registro de usuario, el cambio de contraseña y el envío de mensajes al teléfono.
Cuando ese código deja de ejecutarse, cada efecto desaparece por su cuenta, y ninguno se anuncia:
- Una Rule que añadía un claim de roles deja de añadirlo. Nada en la página dice que el login falle, así que da por hecho que tiene éxito y que tu API recibe tokens sin el claim, y lo que pase después depende de cómo trate tu API un claim ausente.
- Una Rule que fijaba
context.multifactorpara algunos usuarios deja de activar la MFA para ellos. Salvo que la MFA se exija de otra forma, inician sesión sin ella. - Una Rule que rechazaba inicios de sesión (correo sin verificar, dominio equivocado, marca de cuenta bloqueada) deja de rechazarlos.
- Un Hook de pre-registro que filtraba altas deja de filtrar.
Un login roto se denuncia rápido. Un control que dejó de ejecutarse en silencio lo encuentra otra persona, más tarde.
El código lleva casi dos años congelado
Según la misma página de obsolescencias, las Rules y los Hooks son de solo lectura desde el 18 de noviembre de 2024. Puedes activarlos y desactivarlos y cambiar sus valores de configuración o sus secretos, pero no puedes editar su código fuente: ni en el Dashboard, ni por la Management API, ni con Terraform, ni con el Auth0 Deploy CLI. La página advierte además de que los flujos automatizados de CI/CD no deben intentar operaciones de gestión no admitidas sobre ellos.
Dicho de otro modo: cada Rule que sigue activa es código que, según Auth0, nadie puede editar desde el 18 de noviembre de 2024. Si una de ellas tiene un error, los únicos remedios que quedan son desactivarla o migrarla.
La fecha ya se ha movido antes. La entrada del blog de Auth0 del 15 de mayo de 2023 decía que las Rules y los Hooks se eliminarían de todos los tenants el 18 de noviembre de 2024. Esa fecha pasó a ser la del cambio a solo lectura, y la página de obsolescencias conserva la línea «Auth0 has delayed the removal of Rules and Hooks functionality to a future date» (Auth0 ha aplazado a una fecha futura la eliminación de la funcionalidad de Rules y Hooks). La página general «Migration Process» de Auth0 dice también que las fechas de fin de vida pueden variar según el tipo de plan. Yo no contaría con un segundo aplazamiento. Si tienes un contrato Enterprise y crees que tienes condiciones distintas, consíguelas por escrito.
Lo que las guías de migración no ponen por delante
Auth0 publica dos guías, de Rules a Actions y de Hooks a Actions, además de una herramienta «Migrate to Action» en el Dashboard. Son buenas. Cuatro detalles merecen más atención de la que reciben.
El orden importa. Las Rules se ejecutan antes que las Actions. La página de herramientas de migración de Auth0 dice que hay que migrar en orden inverso: primero la última Rule del flujo y luego hacia atrás hasta la primera. Las Actions migradas pueden llamar a api.rules.wasExecuted() con el ID de la Rule para que la misma lógica no se ejecute dos veces mientras ambas están activas.
Las guías nombran runtimes obsoletos. La guía de Rules todavía te dice que elijas Node 16 al crear la Action, la de Hooks Node 18, una versión que el proyecto Node.js dejó de mantener el 30 de abril de 2025. La misma página de obsolescencias dice que los runtimes de extensibilidad Node 12 y 16 llegaron al fin de vida el 15 de agosto de 2025, y que una vez retirados, el código de extensibilidad se ve obligado a ejecutarse en Node 22. Yo escribiría y probaría cada Action migrada en Node 22.
Algunos hábitos de las Rules no sobreviven. Las Actions no reciben token de acceso a la Management API ni un objeto global auth0. Para llamar a la Management API, registras una aplicación máquina a máquina y la autorizas. Los secretos se definen por Action, mientras que las Rules compartían una configuración global. La caché de las Actions guarda los elementos 24 horas como máximo, 20 entradas por disparador, 8 kB en total, y no está garantizada entre ejecuciones. Un disparador debe terminar en 20 segundos. En el lado de los Hooks, las Actions no pueden conservar datos como tokens de acceso de una ejecución a otra.
Algunas cosas todavía no tienen equivalente. La página «Actions Migration Limitations» de Auth0 las enumera: no hay sustituto para context.connectionOptions, no hay acceso a los tokens del proveedor de identidad de origen mediante user.identities, los claims estándar de un token de ID no se pueden eliminar, las Actions devuelven «access denied» pero no «unauthorized», y en las cuentas vinculadas, las Actions solo permiten modificar al usuario principal. Una Rule que depende de alguno de estos puntos no se migra con copiar y pegar. Es un rediseño, y debería ser la primera que mires, no la última.
Qué comprobaría antes del 18 de noviembre
Si heredara un tenant de Auth0 en un proyecto freelance, este es el orden que seguiría.
- Lista todos los tenants, no solo producción. Desarrollo, staging, el viejo tenant de demostración que un cliente sigue usando. Anota cada fecha de creación. Todo lo creado antes del 16 de octubre de 2023 se revisa.
- Lista cada Rule activada (Auth Pipeline > Rules en el Dashboard) y cada Hook activado. Copia el código de cada uno: el código de solo lectura todavía se puede leer, y la propia guía de Auth0 empieza copiándolo.
- Anota cada efecto y su consumidor. «Añade
https://example.com/rolesal token de acceso, lo lee la API de facturación.» El consumidor es donde se verá el fallo, así que es lo que pruebas. - Decide qué significa un claim ausente. Si tu API trata un claim de roles ausente como un usuario normal, una Rule eliminada degrada a la gente. Si lo trata como «sin restricción», tienes un agujero. Lo seguro por defecto es rechazar, y puedes publicarlo antes de migrar nada.
- Migra la última Rule primero, en Node 22, en un tenant de desarrollo. Usa la herramienta del Dashboard, deja
wasExecuteden su sitio y luego desactiva la Rule. - Compara tokens. Decodifica un token de ID y un token de acceso emitidos antes de la migración y otro emitido después, para el mismo usuario de prueba. Cada claim personalizado presente antes debe seguir ahí después.
- Limpia la configuración de despliegue. Si Terraform o el Deploy CLI todavía declaran Rules o Hooks, quítalos cuando las Actions estén activas, para que tu pipeline deje de gestionar recursos que Auth0 elimina después del 18 de noviembre.
Este es también el tipo de inventario que le daría a Claude Code: leer las Rules copiadas, listar cada claim, cada denegación y cada llamada externa que hacen, y buscar en el código cada consumidor de esos claims. El criterio sigue siendo mío. La lectura va más rápido.
Para una pequeña empresa cuya app construyó una agencia antes de finales de 2023, la pregunta es más sencilla. Pregunta a quien tenga la cuenta de Auth0 si el tenant tiene Rules o Hooks activos. Si nadie sabe quién la tiene, eso es lo primero que hay que arreglar.
Auth0 dio a este código dos años extra. Dedica las últimas semanas a averiguar qué estaba haciendo.
Fuentes
- Auth0 Docs, «Deprecations and Migrations» (consultado el 19 de octubre de 2026)
- Auth0 Docs, «Auth0 Rules» (consultado el 19 de octubre de 2026)
- Auth0 Docs, «Auth0 Hooks» (consultado el 19 de octubre de 2026)
- Auth0 Blog, «Preparing for Rules and Hooks End of Life» (15 de mayo de 2023)
- Auth0 Docs, «Migrate from Rules to Actions» (consultado el 19 de octubre de 2026)
- Auth0 Docs, «Migrate from Hooks to Actions» (consultado el 19 de octubre de 2026)
- Auth0 Docs, «Migration tooling» (consultado el 19 de octubre de 2026)
- Auth0 Docs, «Actions Migration Limitations» (consultado el 19 de octubre de 2026)
- Auth0 Docs, «Actions Limitations» (consultado el 19 de octubre de 2026)
- Auth0 Docs, «Migration Process» (consultado el 19 de octubre de 2026)
- Node.js Release Working Group, calendario de versiones (consultado el 19 de octubre de 2026)
