Contenido del curso

Reglas vs acciones en Auth0

Resumen

Las reglas y acciones en Auth0 te permiten ejecutar código personalizado dentro de los flujos de autenticación y autorización, sin tener que modificar tu backend. Si estás integrando Auth0 en una aplicación y necesitas extender su comportamiento por defecto, este recurso es para ti: desarrolladores que buscan controlar qué pasa antes, durante o después del login.

¿Qué son las reglas en Auth0 y para qué sirven?

Las reglas son fragmentos de código custom que se ejecutan dentro del flujo de login. Cada vez que un usuario inicia sesión, Auth0 dispara estas reglas para que tú decidas qué pasa después.

Dentro del dashboard, en la sección Auth Pipeline, encuentras la opción Rules. Al crear una regla, Auth0 te ofrece múltiples templates agrupados por categoría, lo que acelera mucho el trabajo cuando tu necesidad es común [01:05].

¿Qué tipos de plantillas de reglas ofrece Auth0?

Las plantillas están organizadas por intención de uso. Estas son las más relevantes que aparecen en el catálogo:

  • Access Control: controla el acceso del usuario, por ejemplo verificando cuándo reseteó por última vez su password o forzando que tenga el email verificado.
  • Asignación de roles: útil cuando necesitas roles para una integración específica, ya que los core roles de Auth0 no se pueden modificar mediante reglas hoy por hoy.
  • Multifactor: te permite forzar un segundo factor de autenticación en escenarios concretos.
  • Enriquecimiento de perfil: agrega información adicional al usuario, como el país u otros datos del perfil.

¿Puedo crear una regla desde cero en Auth0? Sí. Aunque existen plantillas, siempre puedes empezar con una regla vacía y escribir tu propia lógica. Funciona como una serverless function que corre Node, así que tienes mucha flexibilidad.

¿Qué son las acciones en Auth0 y por qué son más versátiles?

Las acciones son la nueva forma de ejecutar código personalizado en Auth0 y son notablemente más versátiles que las reglas. La diferencia clave está en cuándo se ejecutan [03:15].

Mientras las reglas solo corren durante el flujo de login, las acciones se pueden disparar en varios momentos del ciclo de vida del usuario:

  • En el login.
  • En comunicaciones machine to machine.
  • Antes de que el usuario se registre.
  • Después de que el usuario se registre.
  • Cuando hay un cambio de password.
  • Cuando se envía un mensaje de texto.

Y aquí viene lo interesante: dentro de cada flujo puedes apilar cuantas acciones quieras. Cada acción es como una pequeña función serverless que encadenas con otras, y defines su orden con un drag and drop directamente en el dashboard.

¿Qué ventajas técnicas tienen las acciones frente a las reglas?

Las acciones corren sobre una versión de Node más moderna y permiten instalar paquetes públicos de npm sin restricciones especiales. Las reglas, en cambio, tienen una lista limitada de paquetes permitidos.

¿Reglas o acciones: cuál debo usar? La recomendación oficial de Auth0 es usar acciones porque son más dinámicas y personalizables. Usa reglas solo cuando una limitación de las acciones te lo impida.

¿Qué pasa si tengo reglas y acciones activas al mismo tiempo?

Auth0 ejecuta primero las reglas y después las acciones dentro del flujo de login. El orden de las reglas se define en su propia sección, mientras que el orden de las acciones lo controlas arrastrándolas dentro del flujo correspondiente.

Esto es útil durante migraciones: puedes mantener reglas existentes mientras vas moviendo lógica nueva a acciones, sin romper lo que ya funciona.

Un caso típico donde brilla este modelo es cuando creas un usuario en Auth0 y necesitas reflejarlo en otra base de datos externa, por ejemplo agregando una relación con otra entidad. Antes lo resolvías con una regla en el login; ahora puedes hacerlo con una acción en el flujo de post-registration, que es semánticamente más correcto.

¿Por qué sigue siendo importante aprender reglas si Auth0 recomienda acciones?

Las acciones son un producto relativamente nuevo dentro de Auth0, con apenas un par de años en el ecosistema. Eso significa que en algunos casos puedes encontrarte con funcionalidades que aún no están disponibles como acción pero sí como regla.

Conocer ambas te da una ruta de escape: si una acción te limita, revisas si tu caso custom se resuelve con una regla y avanzas sin bloquearte. Es una habilidad práctica más que teórica, sobre todo en proyectos en producción donde no puedes esperar a que un feature salga del roadmap.

Tu reto: entra al apartado de Rules y de Actions en tu dashboard de Auth0, revisa los grupos de templates y describe en los comentarios qué crees que se puede hacer en cada uno y qué tienen en común. Si se te ocurre una nueva regla útil, compártela también.