Una mejor manera de manejar la autenticación de usuarios en Rails

Cuando se trata de autenticación en Rails, la mayoría de los desarrolladores recurren a Devise. Sin embargo, hay un enfoque alternativo que te da más control: Authentication Zero.

Authentication Zero es un generador que crea código de autenticación directamente en tu aplicación. A diferencia de Devise, que abstrae la autenticación en una gema, Authentication Zero te da el código para que lo poseas y personalices.

¿Por qué Authentication Zero?

  • Control total - El código vive en tu app, no oculto en una gema
  • Fácil de personalizar - Modifica cualquier parte del flujo de autenticación
  • Sin magia - Puedes leer y entender cada línea
  • Características modernas - Soporta sin contraseña, WebAuthn y más

Comenzando

Agrega a tu Gemfile:

gem "authentication-zero"

Luego genera:

rails generate authentication
rails db:migrate

Esto crea:

  • Modelo User con contraseña segura
  • Controlador de sesiones
  • Funcionalidad de restablecimiento de contraseña
  • Verificación de email
  • Vistas que puedes personalizar

El Resultado

Obtienes un sistema de autenticación completo con código que posees. ¿Necesitas agregar 2FA? ¿Modificar el flujo de inicio de sesión? ¿Agregar login social? Tienes el código justo ahí.

Consulta el repositorio de Authentication Zero para más detalles.