6 pontos por GN⁺ 2025-09-28 | 5 comentários | Compartilhar no WhatsApp
  • 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

 
shakespeares 2025-10-05

As mudanças no lado do Next.js estão tão intensas que o desgaste é considerável..

 
ahwjdekf 2025-09-28

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.

 
ahwjdekf 2025-09-28

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.

 
GN⁺ 2025-09-28
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

    • A situação do Auth.js e do NextAuth.js não estava nada saudável. O desenvolvimento do NextAuth.js v5 começou em maio de 2023, mas continua em beta até hoje. Em agosto de 2023, o nome mudou para Auth.js, e em outubro saiu a v5.0.0-beta.0. Balázs Orbán, o principal contribuidor, deixou a equipe em janeiro de 2025. No fim, o projeto ainda segue em beta, sem uma versão estável
      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)
    • Entendo essa preocupação, mas eu não diria que o Auth.js era exatamente “realmente gratuito”. Ele já recebia apoio de muitas empresas, a ponto de a Clerk até anunciar no site da documentação. A Better Auth começou como um projeto open source sem objetivo comercial, mas a expansão comercial aconteceu naturalmente porque queríamos permitir que mais empresas pudessem ter seu próprio sistema de autenticação com facilidade. O motivo de assumir o Auth.js também foi evitar que ele fosse abandonado, já que a equipe decidiu se afastar do projeto. Já vimos casos como o da Lucia, em que autenticação open source perde a confiança, e queríamos impedir uma situação em que o abandono destruísse essa confiança
    • O Auth.js é totalmente gratuito, mas na prática está abandonado
    • Eu trabalho na FusionAuth e já patrocinei o NextAuth. As pessoas precisam ganhar a vida, e o NextAuth também era um projeto apoiado comercialmente por patrocinadores. Não sei exatamente quanto dinheiro veio desse apoio, mas vale considerar opiniões sobre a influência de empresas como Clerk e Vercel no projeto. Escrevi com mais detalhes sobre a dificuldade do modelo de negócios open source no meu blog pessoal
    • Neste caso, pelo menos, o dinheiro captado parece estar sendo usado para desenvolver uma futura solução SaaS de autenticação baseada em um projeto open source
  • 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

    • Não sei de nenhum detalhe específico, mas pela minha experiência já tentei migrar para o Auth0 e foi ruim. Basta sair um pouco do padrão para o suporte piorar muito, e mesmo quando funciona corretamente não é grande coisa. Ainda assim, se for preciso terceirizar autenticação para um SaaS de terceiros, talvez o Auth0 seja uma das opções menos ruins
    • Dá para ter alguma ideia do caso real da OpenAI no estudo de caso oficial da Ory
    • Estou decidindo entre AWS Cognito e Auth0. Queria ouvir mais relatos de experiência para entender qual dos dois parece melhor na prática
    • A OpenAI aparentemente migrou SSO/SAML para a WorkOS, e para autenticação de consumidores parece ter usado um fork de uma solução open source
    • A Ory também afirma que é usada pela OpenAI, então provavelmente a OpenAI montou sua solução combinando serviços da Ory com Better Auth e outras peças
  • 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

    • Eu mesmo estou criando uma solução com suporte a Go, JS e Rust (usando WASM no lado do servidor), e no futuro devo incluir Python e outros. Não tem o mesmo nível de acabamento ou recursos de BetterAuth/OpenAuth, mas a experiência de desenvolvimento (DX) está sendo muito satisfatória quando um projeto precisa de autenticação
      GitHub do decent-auth
    • Concordo totalmente. Não é que não existam soluções de autenticação para golang, como a FusionAuth, mas o que parece faltar é uma biblioteca no nível de framework que se integre diretamente ao app, como o devise no Rails ou o modelo de usuário do Django. Há várias alternativas apresentadas nesta thread no reddit
    • O GitHub do authelia/authelia também pode valer a tentativa
    • O GitHub do ory/kratos também parece promissor
  • Já usei os dois produtos e, pessoalmente, fiquei satisfeito. É bom ver os dois projetos colaborando

    • Na prática, isso é só a Better Auth fingindo manter o Auth.js enquanto tenta empurrar as pessoas para a Better Auth
  • Estou usando Clerk e parece bom. Sempre há rumores sobre qualquer coisa, mas eu só quero focar no desenvolvimento

    • Ainda não testei Clerk, mas se gastar dinheiro realmente simplifica o desenvolvimento, talvez faça sentido para certos projetos. Só como referência, consegui configurar a Better Auth em menos de 1 hora até num repositório bem bare-bones
  • 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 any do 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ça
    Já 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

      1. Só vamos encerrar completamente o Auth.js quando tivermos certeza de que os usuários existentes conseguem migrar sem problemas para a Better Auth (ou seja, isso ainda está longe), então é bem provável que nunca haja uma situação em que todos sejam forçados a migrar de uma vez
      2. Os recursos extras via plugins são coisas que o NextAuth não tinha. Mesmo usando só a biblioteca principal, você já tem quase tudo do NextAuth, e a maioria dos plugins é fornecida por nós. Se quiser, você pode escrever seus próprios plugins, copiar/modificar os existentes ou usar apenas os que oferecemos. O tratamento de banco é resolvido para você, então dá para ter seu próprio sistema de autenticação sem precisar implementar essa lógica manualmente
      3. O Auth.js já estava inativo havia bastante tempo. Trouxemos o projeto para a Better Auth justamente para evitar que um encerramento brusco destruísse a confiança no ecossistema open source de autenticação, algo que já vimos acontecer com a Lucia Auth
  • Três horas depois do anúncio da Better Auth, removeram o aviso relacionado à Vercel neste commit no GitHub