Más allá del login: el setup de Better Auth listo para producción en Next.js 16 — 2FA, organizaciones, admin, rate limiting y los gotchas que importan.
Better Auth es el default razonable para proyectos Next.js nuevos en 2026. Pero "montar auth" y "montar auth que sobreviva a producción" son trabajos distintos. Un formulario de login es una tarde; las sesiones, 2FA, organizaciones, controles de admin y los edge cases de su alrededor son una semana.
Este es el setup de producción — las piezas que de verdad necesitas, y los gotchas entre una demo y una app real.
Better Auth corre dentro de tu app Next.js contra tu propia base de datos. El mínimo de producción:
auth) con tu adapter de base de datos (Prisma + Postgres) y emailAndPassword + socialProviders (Google, GitHub, LinkedIn).auth.api.getSession() en server components / route handlers.Aquí es donde Better Auth saca ventaja. Cada uno es una línea de config, no una semana de construir:
twoFactor() — TOTP + códigos de respaldo. No envíes un producto de pago sin esto.organization() — multi-tenancy: equipos, roles (owner/admin/member), invitaciones. La columna vertebral de un SaaS B2B.admin() — impersonación, ban, listar sesiones. El tooling de soporte que necesitarás para el segundo mes.passkey() — WebAuthn, cada vez más esperado.magicLink() — opción passwordless.El type safety fluye desde aquí: activa el plugin de organizaciones y session.activeOrganizationId queda tipado automáticamente.
1. Verifica el email antes de dar acceso. Una demo se lo salta; producción recibe signups falsos. Protege las rutas sensibles con emailVerified.
2. Rate-limit en los endpoints de auth. Login, signup y reset son imanes de abuso. Better Auth trae rate limiting — actívalo, no asumas que los defaults te valen.
3. Estrategia de sesión en edge. Better Auth funciona en edge sin adapter especial, pero decide a conciencia dónde se leen las sesiones (middleware vs server component) para evitar lecturas dobles.
4. Trusted origins / CSRF. Configura bien trustedOrigins para tus dominios de producción, o los callbacks de OAuth y las peticiones cross-site fallarán de formas confusas.
5. No esparzas checks de auth. Centraliza la autorización en un helper (un patrón createAuthenticatedAction) en vez de repetir guards de getSession() por todo el código — es donde se esconden los bugs y los agujeros de seguridad.
Eso es aproximadamente una semana de trabajo cuidadoso — y es la misma semana para cada SaaS que construyas.
El core de Better Auth es rápido. El Better Auth de producción — verificación, 2FA, orgs, admin, rate limiting, los edge cases — es la parte que se come una semana y que repetirás en cada proyecto. Constrúyelo una vez, bien, y reutízalo.
CREA.MBA es ese setup de producción, hecho: Better Auth con email/contraseña + OAuth, 2FA (TOTP + códigos de respaldo), organizaciones con roles e invitaciones, panel de admin con impersonación y bans, rate limiting y acciones de auth centralizadas — todo sobre Prisma + tu propio Postgres. Arrancas con el checklist de producción de arriba ya marcado, no desde un formulario de login.
Suscríbete para más tutoriales y tips sobre crear productos con IA
El boilerplate ahora incluye el endpoint receptor para publicar posts desde un provider custom de Postiz. Calendario editorial unificado con tus redes sociales en menos de 2 horas.