- Auth.js (antigo nome: NextAuth.js) agora é mantido e gerenciado pela equipe do Better Auth
- Auth.js é a biblioteca de autenticação open source mais usada no ecossistema JavaScript e é utilizada por muitos sites conhecidos
- Antes, havia dificuldades para implementar autenticação e gerenciamento de sessão diretamente, além do inconveniente de recriar os mesmos componentes básicos em todos os contextos
- Como a equipe do Better Auth reconheceu as limitações do Auth.js e compartilhou uma visão de futuro, os dois projetos vão se unir para evoluir ainda mais o ecossistema
- Usuários atuais continuarão recebendo manutenção, incluindo patches de segurança, e para novos projetos o uso de Better Auth é recomendado
Introdução e anúncio
- Auth.js (anteriormente conhecido como NextAuth.js) agora é oficialmente mantido e gerenciado pela equipe do Better Auth
- Auth.js é uma das bibliotecas de autenticação open source mais conhecidas no ecossistema JavaScript e já é usada por muitos serviços (ChatGPT, Google Labs, Cal.com etc.)
O papel e as limitações do Auth.js até aqui
- Antes da integração com o Better Auth, o Auth.js permitia que desenvolvedores tivessem funcionalidades de autenticação sem precisar investir muito tempo em integrações OAuth ou em gerenciamento de sessão
- Porém, à medida que as aplicações web ficaram mais complexas e as exigências de autenticação se diversificaram, limitações como o desenvolvimento repetitivo de funcionalidades básicas e a falta de escalabilidade ficaram mais evidentes
- A equipe existente já reconhecia esses pontos, mas por vários motivos não conseguiu executar melhorias estruturais mais profundas
Contexto da fusão com o Better Auth
- O objetivo do Better Auth era fortalecer o controle sobre autenticação em vários serviços, e sua visão era semelhante à da equipe do Auth.js
- Após discussões internas, ficou claro que unir os dois projetos era a melhor escolha
- Reconhecendo que o Auth.js é importante para inúmeras aplicações, empresas e desenvolvedores, a equipe promete continuar oferecendo patches de segurança e resposta a problemas urgentes
Recomendações e estratégia de evolução do ecossistema
- Projetos que já usam Auth.js (NextAuth.js) podem continuar usando sem problemas
- Para novos projetos, a recomendação é usar Better Auth, a menos que seja necessário algum recurso específico, especialmente gerenciamento de sessão stateless sem banco de dados
- Esses recursos também estão no roadmap do Better Auth. Em vez de desenvolvimento duplicado, a ideia é unificar o ecossistema para seguir em uma direção mais evolutiva
Migração e agradecimento à comunidade
- Para equipes considerando a migração, será fornecido um guia, e mais documentação e materiais devem ser adicionados em breve
- A equipe expressa profunda gratidão à comunidade e aos principais contribuidores que desenvolveram o Auth.js até aqui (especialmente Balázs, Thang Vu, Nico Domino, Lluis Agusti, Falco Winkler)
- Destaca-se que o ponto de partida do Better Auth foi o Auth.js, e que a união dos dois projetos permitirá que o ecossistema de autenticação vá ainda mais longe
- O objetivo fundamental continua o mesmo: "o controle da autenticação pertence ao próprio desenvolvedor"
5 comentários
As mudanças no lado do Next.js estão tão intensas que o desgaste é considerável..
Como isso é tão instável, acho melhor usar algo como o Clerk e, quando tiver muitos usuários, aí sim pensar seriamente na questão da autenticação.
Recentemente tentei criar algo com
auth.js, mas nesse meio-tempo já mudaram tudo de novo. O lado web é bem complicado e cansativo mesmo. E eu até tentei abrir um PR porque a documentação e os exemplos tinham erros, mas fecharam como se não houvesse problema nenhum, então achei bem absurdo. Parece que internamente a equipe não estava funcionando muito bem.Auth.js - biblioteca de autenticação para a web
Better Auth - framework abrangente de autenticação para TypeScript
Opiniões no Hacker News
A Better Auth levantou US$ 5 milhões, e é uma pena ver um projeto totalmente gratuito ser absorvido por um empreendimento comercial
Veja a linha do tempo, a discussão, o registro da mudança de nome, o lançamento beta, o histórico de commits e o anúncio no X (Twitter)
Ouvi dizer que o Auth.js é usado de fato em ChatGPT, Google Labs, Cal.com e outros, mas nunca vi a OpenAI migrando seu sistema de autenticação do Auth0, então fiquei curioso sobre o que aconteceu
Esse framework tornou a autenticação tão fácil que eu praticamente não preciso pensar nisso. A configuração é simples e o uso é consistente entre os frameworks. Ainda bem que essas vantagens parecem continuar daqui para frente
Quando alguém perguntou se a Better Auth era “melhor que auth.js?”, minha reação imediata foi pensar “claro que é melhor que auth.js”, e no fim foi isso mesmo que aconteceu
Queria que existisse uma solução de autenticação tão simples assim também para Go
GitHub do decent-auth
Já usei os dois produtos e, pessoalmente, fiquei satisfeito. É bom ver os dois projetos colaborando
Estou usando Clerk e parece bom. Sempre há rumores sobre qualquer coisa, mas eu só quero focar no desenvolvimento
Do ponto de vista de desenvolvedor, a Better Auth simplesmente parece melhor por maximizar a simplicidade
Essa notícia é decepcionante. Na prática, parece que o desenvolvimento adicional do Auth.js vai parar. Eu gostava do Auth.js porque conseguia usá-lo perfeitamente atrás da minha API GraphQL só com implementações simples de funções, mas a Better Auth tem tipos de dados diferentes em cada plugin e tudo fica genérico demais, quase como
anydo TypeScript. Além disso, a responsabilidade pelo desenho do schema do banco e pela execução de migrações acaba sendo delegada ao desenvolvedor do plugin. Para uma biblioteca de autenticação, isso me parece exagerado, e eu não gosto dessa estrutura. Até dá para criar um adapter separado, mas até essa interface exige implementar um executor de consultas arbitrárias muito genérico, em estilo SQL-like, então se perde o controle direto sobre o schema. As migrações também recebem apenas strings de código para serem avaliadas com eval, o que dificulta manter controle de segurançaJá vinha tentando evitar preconceito, porque parecia haver um clima de dar mais atenção à Better Auth pela juventude do desenvolvedor ou por ele ser autodidata do que por inovação técnica, mas talvez essas preocupações não estivessem totalmente erradas. Ainda assim, isso parece melhor do que o abandono do Auth.js, mas mostra como o estado das bibliotecas open source de autenticação no ecossistema JS é lamentável
exemplo de implementação de adapter, artigo da TechCrunch sobre o desenvolvedor
Três horas depois do anúncio da Better Auth, removeram o aviso relacionado à Vercel neste commit no GitHub