- Auth.js (antes llamado: NextAuth.js) ahora será mantenido y gestionado por el equipo de Better Auth
- Auth.js es la biblioteca de autenticación de código abierto más usada en el ecosistema JavaScript y se utiliza en muchos sitios web conocidos
- Antes, implementar directamente la autenticación y la gestión de sesiones era difícil, y existía la incomodidad de tener que volver a desarrollar los mismos componentes básicos en cada caso
- Como el equipo de Better Auth reconoció las limitaciones de Auth.js y compartía una visión de futuro, ambos proyectos planean unirse para seguir haciendo crecer el ecosistema
- Los usuarios actuales seguirán recibiendo mantenimiento, incluidos los parches de seguridad, y para proyectos nuevos se recomienda usar Better Auth
Introducción y anuncio
- Auth.js (antes conocido como NextAuth.js) ahora será mantenido y administrado oficialmente por el equipo de Better Auth
- Auth.js es una de las bibliotecas de autenticación de código abierto más conocidas del ecosistema JavaScript, y ya se usa en muchos servicios (ChatGPT, Google Labs, Cal.com, etc.)
Rol y limitaciones de Auth.js hasta ahora
- Antes de integrarse con Better Auth, Auth.js permitía a los desarrolladores encargarse de la autenticación sin invertir demasiado tiempo en integraciones OAuth o en la gestión de sesiones
- Pero a medida que las aplicaciones web se volvieron más complejas y los requisitos de autenticación se diversificaron, se hicieron más evidentes limitaciones como el desarrollo repetitivo de funciones básicas y la falta de escalabilidad
- El equipo original también era consciente de esto, pero por distintas razones no pudo llevar a cabo mejoras de fondo
Contexto de la unión con Better Auth
- El objetivo de Better Auth era reforzar la propiedad de la autenticación en distintos servicios, y su visión era similar a la del equipo de Auth.js
- Tras varias discusiones internas, llegaron a la conclusión de que lo mejor era que ambos proyectos se convirtieran en uno solo
- Reconociendo que Auth.js es importante para muchísimas aplicaciones, empresas y desarrolladores, prometen seguir ofreciendo parches de seguridad y respuesta ante incidentes urgentes
Recomendaciones y estrategia para el crecimiento del ecosistema
- Los proyectos que ya usan Auth.js (NextAuth.js) podrán seguir utilizándolo sin problemas
- En el caso de proyectos nuevos, salvo que se necesite una función específica (sobre todo la gestión de sesiones stateless sin base de datos), se recomienda usar Better Auth
- La hoja de ruta de Better Auth también contempla agregar estas funciones. En lugar de duplicar desarrollo, buscan unificar el ecosistema en una dirección más productiva
Migración y agradecimiento a la comunidad
- Para los equipos que estén considerando migrar, ofrecerán una guía y planean añadir pronto más documentación y materiales
- Expresan un profundo agradecimiento a la comunidad y a los principales contribuyentes que han hecho crecer Auth.js hasta ahora (especialmente Balázs, Thang Vu, Nico Domino, Lluis Agusti y Falco Winkler)
- Destacan que el punto de partida de Better Auth fue Auth.js, y que la unión de ambos proyectos permitirá que el ecosistema de autenticación llegue más lejos
- El objetivo principal no cambia: "la propiedad de la autenticación pertenece al propio desarrollador"
5 comentarios
Los cambios del lado de Next.js son tan drásticos que ya resultan bastante agotadores..
Con algo tan inestable, mejor usar algo como Clerk y, cuando ya tengas muchos usuarios, recién ahí ponerse a pensar en serio en el tema de la autenticación.
Hace poco intenté hacer algo con auth.js, pero en ese tiempo ya volvieron a cambiar cosas. La parte web es muy incómoda y agotadora. Además, como vi que había errores entre la documentación y los ejemplos, hasta mandé una solicitud de PR, pero la cerraron como si no hubiera ningún problema, así que me quedé bastante desconcertado. Parece que internamente el equipo no estaba funcionando muy bien.
Auth.js ahora forma parte de Better Auth
Better Auth - framework integral de autenticación para TypeScript
Comentarios de Hacker News
Better Auth consiguió una inversión de 5 millones de dólares, y da pena ver cómo un proyecto completamente gratuito termina absorbido por una aventura comercial
Ver historial de cambios, discusión, registro del cambio de nombre, lanzamiento beta, historial de commits y anuncio en X (Twitter)
He oído que Auth.js realmente se usa en ChatGPT, Google Labs, Cal.com y otros, pero no vi que OpenAI moviera su sistema de autenticación desde Auth0, así que me da curiosidad qué pasó ahí
Este framework hizo que manejar autenticación fuera tan fácil que prácticamente ya no hay que pensar en ello, la configuración también es simple y la forma de uso es consistente entre frameworks, da gusto que esas ventajas probablemente se mantengan
Cuando alguien preguntó si Better Auth era ‘mejor que auth.js?’, por un segundo pensé "claro, better que auth.js", y al final literalmente eso fue lo que pasó
Ojalá hubiera una solución de autenticación así de simple también para Go
GitHub de decent-auth
He usado ambos productos y en lo personal quedé satisfecho, me gusta ver que los dos proyectos colaboren
Estoy usando Clerk y se ve bien, siempre hay rumores sobre todo, pero yo por ahora solo quiero concentrarme en desarrollar
Desde la perspectiva del developer, se siente que Better Auth simplemente es mejor porque maximiza la simplicidad
Esta noticia sí me da pena, porque parece que en la práctica el desarrollo adicional de Auth.js se va a detener, a mí me gustaba porque con su implementación simple basada en funciones me servía perfecto detrás de mi API GraphQL, pero Better Auth tiene tipos de datos que cambian según el plugin y se vuelven demasiado genéricos, casi como
anyen TypeScript, además delega en los autores de plugins la responsabilidad del diseño del esquema de base de datos y de ejecutar migraciones, para una librería de autenticación me parece demasiado y no me gusta esa arquitectura, también podría crear un adapter aparte, pero incluso esa interfaz es demasiado genérica y tipo SQL-like, obligando a implementar un ejecutor arbitrario de queries, lo que hace perder el control directo sobre el esquema, y las migraciones además se reciben como strings de código que luego se haceneval, así que tampoco es fácil mantener control de seguridadDesde antes trataba de no tener prejuicios porque sentía que Better Auth llamaba más la atención por lo joven o autodidacta que era el developer que por alguna innovación técnica, pero parece que estas preocupaciones tampoco estaban del todo equivocadas, aun así sigue siendo mejor que dejar Auth.js abandonado, aunque igual da una idea de lo flojo que está el estado de las librerías open source de autenticación en el ecosistema JS
Ver ejemplo de implementación de adapter y artículo de TechCrunch sobre el developer
Tres horas después del anuncio de Better Auth eliminaron el aviso relacionado con Vercel del commit en GitHub