6 points par GN⁺ 2025-09-28 | 5 commentaires | Partager sur WhatsApp
  • Auth.js (anciennement NextAuth.js) est désormais maintenu et géré par l’équipe de Better Auth
  • Auth.js est la bibliothèque d’authentification open source la plus largement utilisée dans l’écosystème JavaScript, et elle est employée par de nombreux sites web connus
  • Auparavant, il était difficile d’implémenter directement l’authentification et la gestion des sessions, avec l’inconvénient de devoir redévelopper les mêmes briques de base dans chaque contexte
  • L’équipe de Better Auth ayant reconnu les limites d’Auth.js et partagé une vision d’avenir commune, les deux projets prévoient d’unir leurs forces pour faire progresser davantage l’écosystème
  • Les utilisateurs existants continueront de recevoir la maintenance, notamment les correctifs de sécurité, et pour les nouveaux projets, l’usage de Better Auth est recommandé

Présentation et annonce

  • Auth.js (anciennement connu sous le nom de NextAuth.js) est désormais officiellement maintenu et géré par l’équipe de Better Auth
  • Auth.js est l’une des bibliothèques d’authentification open source les plus connues de l’écosystème JavaScript, déjà utilisée par de nombreux services comme ChatGPT, Google Labs et Cal.com

Rôle et limites de l’ancien Auth.js

  • Avant son intégration à Better Auth, Auth.js permettait aux développeurs de garder la maîtrise de l’authentification sans devoir consacrer beaucoup de temps aux intégrations OAuth ou à la gestion des sessions
  • Mais à mesure que les applications web sont devenues plus complexes et que les besoins en authentification se sont diversifiés, des limites sont apparues plus nettement, comme le redéveloppement répétitif de fonctionnalités de base ou le manque d’extensibilité
  • L’équipe existante en avait elle aussi conscience, mais, pour diverses raisons, n’a pas pu mener jusqu’au bout des améliorations fondamentales

Contexte de la fusion avec Better Auth

  • L’objectif de Better Auth était de renforcer la maîtrise de l’authentification sur différents services, et sa vision était également proche de celle de l’équipe Auth.js
  • Au fil des discussions internes, il est apparu que le mieux était que les deux projets n’en fassent plus qu’un
  • Conscients de l’importance actuelle d’Auth.js pour d’innombrables applications, entreprises et développeurs, ils promettent de continuer à fournir des correctifs de sécurité et à réagir aux problèmes urgents

Recommandations et stratégie d’évolution de l’écosystème

  • Les projets utilisant déjà Auth.js (NextAuth.js) peuvent continuer à l’utiliser sans problème
  • Pour les nouveaux projets, sauf si une fonctionnalité spécifique est nécessaire — notamment la gestion de sessions stateless sans base de données — il est recommandé d’utiliser Better Auth
  • La feuille de route de Better Auth prévoit également l’ajout de ces fonctionnalités. Plutôt que de poursuivre des développements en double, l’objectif est d’unifier l’écosystème pour avancer dans une direction plus constructive

Migration et remerciements à la communauté

  • Un guide est proposé aux équipes qui envisagent une migration, et davantage de documentation et de ressources seront bientôt ajoutées
  • De profonds remerciements sont adressés à la communauté et aux principaux contributeurs qui ont fait progresser Auth.js jusqu’ici (notamment Balázs, Thang Vu, Nico Domino, Lluis Agusti et Falco Winkler)
  • Il est souligné que Better Auth est né d’Auth.js, et que la réunion des deux projets permettra à l’écosystème de l’authentification d’aller plus loin
  • L’objectif de base reste inchangé : « la maîtrise de l’authentification appartient aux développeurs eux-mêmes »

5 commentaires

 
shakespeares 2025-10-05

Les changements du côté de Next.js sont désormais si extrêmes que c’en est vraiment fatigant..

 
ahwjdekf 2025-09-28

Avec quelque chose d’aussi instable, mieux vaut utiliser directement un service comme Clerk, puis, quand on a davantage d’utilisateurs, se pencher sérieusement sur la question de l’authentification à ce moment-là.

 
ahwjdekf 2025-09-28

J’ai récemment essayé de créer quelque chose avec auth.js, et voilà qu’entre-temps ça a encore changé. Le web, c’est vraiment compliqué et épuisant. Et j’avais même proposé une PR parce qu’il y avait des erreurs dans la documentation et les exemples, mais ils l’ont fermée comme s’il n’y avait aucun problème, ce qui m’a beaucoup surpris. On dirait que, en interne, l’équipe ne fonctionnait pas très bien.

 
GN⁺ 2025-09-28
Avis Hacker News
  • Better Auth a levé 5 millions de dollars, et c’est un peu regrettable de voir un projet entièrement gratuit être absorbé par une aventure commerciale

    • La situation d’Auth.js et de NextAuth.js n’était pas très saine. Le développement de NextAuth.js v5 a commencé en mai 2023, mais le projet est resté en bêta en continu. En août 2023, il a été renommé Auth.js, puis en octobre est sortie la version v5.0.0-beta.0. Balázs Orbán, principal contributeur, a quitté l’équipe en janvier 2025. Au final, le projet est toujours bloqué en bêta, sans version stable.
      Voir l’historique des changements, la discussion, l’historique du changement de nom, la sortie de la bêta, l’historique des commits et l’annonce sur X (Twitter)
    • Je comprends cette inquiétude, mais je ne dirais pas qu’Auth.js était vraiment « totalement gratuit ». Le projet bénéficiait déjà du soutien de nombreuses entreprises, au point que Clerk affichait même de la publicité sur le site de documentation. Better Auth a d’abord commencé comme un projet open source sans objectif commercial, mais l’extension vers une activité commerciale s’est faite naturellement avec la volonté de permettre à davantage d’entreprises de s’approprier plus facilement leur système d’authentification. Si Better Auth a repris Auth.js, c’est aussi parce que l’équipe avait décidé de se retirer du projet, afin d’éviter qu’il ne soit abandonné. On avait déjà vu, avec Lucia, qu’un projet d’authentification open source pouvait perdre la confiance des utilisateurs, et il s’agissait justement d’éviter qu’un abandon réel ne provoque cette perte de confiance
    • Auth.js est entièrement gratuit, mais en pratique il est à l’abandon
    • Je travaille chez FusionAuth et j’ai déjà sponsorisé NextAuth. Les gens doivent gagner leur vie, et NextAuth lui-même bénéficiait déjà d’un soutien commercial de ses sponsors. Je ne sais pas exactement combien d’argent provenait de ce sponsoring, mais il vaut la peine de regarder les discussions autour de l’influence de Clerk et Vercel sur le projet. J’ai aussi écrit un billet plus détaillé sur les difficultés du modèle économique de l’open source sur mon blog personnel
    • Dans ce cas précis, au moins, les fonds levés semblent servir au développement d’une future solution SaaS d’authentification fondée sur un projet open source
  • J’ai entendu dire qu’Auth.js était réellement utilisé chez ChatGPT, Google Labs, Cal.com, etc. En revanche, je n’ai pas vu OpenAI migrer son système d’authentification depuis Auth0, donc je me demande ce qui s’est passé exactement

    • Je n’ai pas d’informations particulières, mais d’après mon expérience, j’ai déjà essayé de migrer vers Auth0 et ce n’était pas fameux. Dès qu’on s’écarte un peu des standards, le niveau de support chute fortement, et même quand tout fonctionne, ce n’est pas très convaincant. Cela dit, s’il faut externaliser l’authentification à un SaaS tiers, Auth0 reste peut-être l’une des options les plus acceptables
    • On peut en déduire une partie du cas réel d’OpenAI à partir de l’étude de cas officielle d’Ory
    • Je suis justement en train d’hésiter entre AWS Cognito et Auth0, et j’aimerais beaucoup entendre des retours d’expérience variés pour savoir lequel des deux est le plus satisfaisant à l’usage
    • OpenAI semble avoir migré le SSO/SAML vers WorkOS, et utilisé un fork open source pour l’authentification grand public
    • Ory affirme aussi être utilisé chez OpenAI, donc il est probable qu’OpenAI ait construit sa solution en combinant les services d’Ory avec Better Auth ou d’autres briques similaires
  • Ce framework a rendu la gestion de l’authentification tellement simple qu’on n’a presque plus besoin d’y penser. La configuration est facile, et l’usage reste cohérent d’un framework à l’autre. C’est rassurant de voir que ces avantages devraient continuer à exister

  • Quand quelqu’un a demandé si Better Auth était « meilleur qu’auth.js ? », ma première pensée a été « eh bien, oui », et finalement c’est effectivement ce qui s’est passé

  • J’aimerais qu’il existe une solution d’authentification aussi simple en Go

    • Je suis en train d’en construire une moi-même, compatible avec Go, JS et Rust (avec du WASM côté serveur), avec Python prévu plus tard. Ce n’est pas au niveau de finition ou de fonctionnalités de BetterAuth/OpenAuth, mais en termes d’expérience développeur (DX), je suis très satisfait quand j’ai besoin d’ajouter de l’authentification dans un projet
      GitHub de decent-auth
    • Je suis complètement d’accord. Il existe bien quelques solutions d’authentification pour golang, comme FusionAuth, mais ce que je voudrais, c’est une bibliothèque aussi simple et intégrée au framework que devise pour Rails ou le modèle utilisateur de Django. Il y a d’ailleurs plusieurs alternatives mentionnées dans ce fil reddit
    • Le GitHub de authelia/authelia vaut aussi le détour
    • ory/kratos sur GitHub semble également prometteur
  • J’ai utilisé les deux produits et j’en étais personnellement satisfait. Je trouve bien que les deux projets collaborent

    • En réalité, Better Auth fait surtout semblant de maintenir Auth.js afin d’orienter les gens vers Better Auth
  • J’utilise Clerk en ce moment et cela a l’air correct. Il y a toujours des rumeurs sur tout, mais moi je veux surtout me concentrer sur le développement

    • Je n’ai pas encore essayé Clerk, mais si payer facilite réellement le développement, cela peut être un bon choix pour certains projets. À titre indicatif, il m’a fallu moins d’une heure pour configurer Better Auth dans mon dépôt bare-bones
  • Du point de vue d’un développeur, Better Auth me paraît simplement meilleur parce qu’il pousse la simplicité au maximum

  • Cette nouvelle me déçoit, parce qu’elle donne l’impression que le développement d’Auth.js va pratiquement s’arrêter. J’aimais beaucoup le fait qu’avec la simple implémentation fonctionnelle d’Auth.js, je pouvais l’utiliser parfaitement derrière mon API GraphQL. Mais Better Auth a des types de données qui varient selon les plugins, au point de devenir trop génériques, presque comme du any en TypeScript. En plus, la responsabilité du schéma de base de données et des migrations est déléguée aux développeurs de plugins. Je trouve cela excessif pour une bibliothèque d’authentification, et cette architecture ne me plaît pas. On peut certes créer un adaptateur séparé, mais même cette interface exige d’implémenter un exécuteur de requêtes arbitraires de type SQL trop générique, ce qui fait perdre le contrôle direct sur le schéma. Les migrations, elles aussi, sont simplement reçues comme des chaînes de code puis évaluées via eval, ce qui ne facilite pas le contrôle de sécurité.
    Depuis le début, j’essayais de ne pas avoir de préjugés contre Better Auth, même si l’attention semblait davantage portée sur le fait que le développeur soit autodidacte ou jeune que sur une réelle nouveauté technique, mais il semble que ces inquiétudes n’étaient pas totalement infondées. Cela reste malgré tout préférable à l’abandon d’Auth.js, mais cela montre surtout à quel point l’état des bibliothèques open source d’authentification dans l’écosystème JS est décevant.
    Exemple d’implémentation d’adaptateur, article TechCrunch sur le développeur

      1. Nous ne mettrons fin à Auth.js que lorsque nous serons convaincus que les utilisateurs existants peuvent migrer vers Better Auth sans problème, donc cela n’arrivera pas de sitôt. En pratique, il est probable qu’il n’y ait jamais de situation où tout le monde soit forcé de migrer.
      2. Les fonctionnalités additionnelles via plugins sont des choses qui n’existent pas dans NextAuth. Rien qu’avec la bibliothèque de base, on couvre déjà presque toutes les fonctionnalités de NextAuth, et la plupart des plugins sont fournis directement par nous. Si vous le souhaitez, vous pouvez écrire vos propres plugins, copier/modifier les nôtres, ou n’utiliser que ceux que nous fournissons. La couche base de données est prise en charge automatiquement, ce qui permet de posséder son système d’authentification sans avoir à écrire toute la logique soi-même.
      3. Auth.js était déjà inactif depuis longtemps. Nous l’avons repris dans Better Auth précisément pour éviter qu’un arrêt brutal ne détruise la confiance dans l’écosystème open source de l’authentification, un problème de perte de confiance que nous avions déjà constaté avec Lucia Auth
  • Trois heures seulement après l’annonce de Better Auth, la mention liée à Vercel a été supprimée d’un commit GitHub