Autenticación con Better-Auth (Básico)

Hola desarrolladores, en este artículo revisado y traducido aprenderás a integrar autenticación en un proyecto Node.js/Next.js usando Better-Auth, una librería moderna y potente que simplifica la implementación de flujos seguros de autenticación. Better-Auth ofrece características clave como autenticación por correo y contraseña, inicio de sesión social, limitación de tasa integrada, gestión automática de esquemas en base de datos, soporte para autenticación de dos factores y una API cliente simple para integrar en el frontend.
Características principales de Better-Auth: email y password, inicios sociales, rate limiting, adapters para bases de datos, 2FA y una API cliente amigable que facilita la integración en apps web y móviles.
Proyecto de ejemplo: para esta guía usaremos una app de ridesharing como proyecto base. Los pasos son fáciles y aplicables a cualquier aplicación a medida o software a medida que estés desarrollando.
Instalación de dependencias: ejecuta el instalador de tu preferencia, por ejemplo con bun: bun add better-auth drizzle-orm postgres
Variables de entorno: genera una clave secreta y añade estas variables a tu archivo .env: BETTER_AUTH_SECRET = tu-clave-secreta BETTER_AUTH_URL = http://localhost:3000 DATABASE_URL = postgresql://usuario:password@localhost:5432/nombredb
Configuración de la base de datos con Drizzle: Better-Auth provee esquemas listos para usar. Genera el esquema y ejecuta migraciones con comandos como: bunx @better-auth/cli generate bunx drizzle-kit generate bunx drizzle-kit migrate Una vez finalizado tendrás todas las tablas necesarias.
Habilitar autenticación por email y contraseña: en la configuración del servidor Better-Auth activa emailAndPassword para permitir registro y login por correo. Conecta el adaptador de Drizzle a tu instancia de base de datos y carga el esquema proporcionado por Better-Auth.
Ejemplo de integración cliente: Better-Auth incluye un cliente react que facilita llamadas desde el frontend. Crea un cliente con createAuthClient y configura baseURL si tu servidor corre en un dominio distinto del frontend.
Rutas API en Next.js: expón el handler de Better-Auth como una ruta API que capture todas las solicitudes de autenticación. Esa ruta gestionará registro, inicio de sesión y sesiones.
Registro en frontend: en tu página de registro llama a authClient.signUp.email pasando los datos del formulario como name email password y un callbackUrl para redireccionar tras el registro. Maneja errores y muestra mensajes claros al usuario.
Inicio de sesión: en la página de login usa authClient.signIn.email con email password y callbackUrl. Al validar credenciales Better-Auth crea sesión y devuelve el control al frontend.
Pruebas: registra un usuario nuevo y verifica en la base de datos que se creó correctamente. Intenta iniciar sesión y confirma el redireccionamiento a la página principal con un estado 200. Revisa logs y respuestas de la API para depuración.
Qué sigue: esta guía cubre lo básico: instalación, migraciones con Drizzle e implementación de sign-up y sign-in. En próximas iteraciones puedes añadir autorización y roles, rate limiting avanzado, soporte de 2FA y logins sociales para ofrecer una experiencia completa y segura.
Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones modernas. Ofrecemos servicios que abarcan desde software a medida y aplicaciones a medida hasta inteligencia artificial aplicada a empresas, ciberseguridad y servicios cloud aws y azure. Si necesitas un desarrollo multiplataforma profesional visita Desarrollo de aplicaciones y software a medida donde detallamos nuestras capacidades para proyectos a medida. Para potenciar tus productos con modelos y agentes IA y soluciones de IA para empresas conoce nuestros servicios en servicios de inteligencia artificial.
Palabras clave y posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi son áreas donde Q2BSTUDIO aporta experiencia demostrada. También ofrecemos integración con soluciones de inteligencia de negocio y Power BI para transformar datos en decisiones inteligentes.
Si te interesa que implementemos Better-Auth en tu proyecto como parte de un desarrollo más amplio o quieres añadir servicios de seguridad, auditoría o integración con cloud providers, contacta con nosotros y diseñamos la solución a medida que necesitas. Feliz programación y éxito con tu proyecto de autenticación.
Comentarios