AccueilClients

Applications et sites

  • Application métiersIntranet, back-office...
  • Applications mobilesAndroid & iOS
  • Sites InternetSites marketings et vitrines
  • Expertises techniques

  • React
  • Expo / React Native
  • Next.js
  • Node.js
  • Directus
  • TypeScript
  • Open SourceBlogContactEstimer

    6 octobre 2025

    Better Auth : le futur d’Auth.js

    4 minutes de lecture

    Better Auth : le futur d’Auth.js
    🇺🇸 This post is also available in english

    Chez Premier Octet, on explore en continu de nouvelles solutions pour simplifier et sécuriser nos développements. Pendant longtemps, NextAuth.js (devenu Auth.js) a été notre référence pour gérer l’authentification dans nos projets Next.js.

    Très récemment, un tournant important a eu lieu : Auth.js rejoint Better Auth.

    Better Auth devient donc le successeur officiel d'Auth.js et nous propose une vision plus large ainsi qu'une approche plus moderne de l’authentification.

    Dans cet article, nous partageons notre retour d’expérience : installation, migration depuis Supabase et découverte des plugins.

    Sessions : une évolution d’approche

    Historiquement, Auth.js proposait deux stratégies :

    1. des sessions stateless avec un token JWT qui ne nécessitent pas de base de données. Une stratégie légère et pratique, mais si les données de la session évoluent (rôles, permissions…), il faut mettre en place des mécanismes supplémentaires pour invalider les tokens devenus obsolètes. Cette stratégie est celle appliquée par défaut.
    2. des sessions stateful stockées en base de données via un adapter (Prisma, Mongo…) et vérifiées à chaque requête. Elles permettent de garder les permissions constamment à jour, d’invalider immédiatement une session (ex. logout forcé) et de gérer facilement plusieurs appareils. En contrepartie, cette stratégie nécessite plus de ressources, puisqu’elle implique des appels serveur plus fréquents.

    Better Auth, lui, a fait le choix d’un modèle basé avant tout sur des sessions stateful. Il propose toutefois un plugin Bearer Token Authentication qui permet de mettre en place des sessions stateless.

    Installation et gestion de la base de données

    Là où Auth.js reposait sur des schémas à intégrer manuellement, Better Auth fournit un CLI qui génère directement les tables nécessaires. Résultat : une installation rapide, standardisée et avec moins de risques d’erreurs.

    En pratique, voici la mise en place avec Prisma après avoir installé la librairie :

    npx @better-auth/cli generate
    npx prisma migrate dev
    
    import { betterAuth } from "better-auth";
    import { prismaAdapter } from "better-auth/adapters/prisma";
    import { PrismaClient } from "@prisma/client";
    
    const prisma = new PrismaClient();
    
    export const auth = betterAuth({
      secret: process.env.BETTER_AUTH_SECRET,
      database: prismaAdapter(prisma, {
        provider: "postgresql",
      }),
    });
    

    Et voilà. ✨ Inscription, connexion, gestion des sessions, modification d’email, réinitialisation de mot de passe, tout est fonctionnel et accessible depuis l'API via les appels auth.api pour le côté serveur et authClient pour le côté client.

    Better Auth ne fournit pas d'UI prête à l'emploi mais après une configuration rapide, ses méthodes permettent une intégration sans prise de tête, que ce soit pour la connexion par credentials ou via des providers sociaux comme Google, Apple, GitHub, etc.

    Migration depuis Supabase

    Nous avons également testé la migration depuis Supabase sur l'une de nos applications. Encore une fois, le processus est très simple :

    1. Récupérer l’URL de la base de données sur Supabase.
    2. Générer les tables Better Auth avec le CLI.
    3. Lancer le script officiel pour convertir les utilisateurs.

    ⚠️ Limite actuelle : Supabase utilise bcrypt pour le hachage des mots de passe tandis que Better Auth repose sur scrypt. Les utilisateurs devront donc réinitialiser leur mot de passe après migration. En production, une communication claire (mailing, bannière, etc.) est indispensable.

    Plugins : aller plus loin

    Tandis qu'Auth.js se concentrait sur les providers (Google, GitHub, Credentials, etc.), Better Auth propose en plus des plugins qui adressent des besoins métiers concrets : organisations, rôles avancés, 2FA, magic links.

    Exemple : Organization est un plugin qui facilite la gestion d’équipes ou de structures dans une application. Il génère automatiquement les tables nécessaires et expose des méthodes prêtes à l’emploi pour :

    • créer une organisation,
    • inviter des membres,
    • attribuer et modifier des rôles,
    • gérer les droits d’accès associés.

    En pratique, cela permet de mettre en place un système complet de gestion multi-utilisateurs sans avoir à réécrire nous-mêmes toute la logique métier.

    import { betterAuth } from "better-auth"
    import { organization } from "better-auth/plugins"
    
    export const auth = betterAuth({
        plugins: [organization()]
    })
    

    En quelques lignes seulement, les plugins ouvrent la porte à des fonctionnalités avancées : 2FA pour renforcer la sécurité, magic links pour simplifier la connexion, des outils de gestion administrateur (dont la très utile impersonification), et bien plus encore !

    Conclusion

    Tout au long de cet article, le mot simple est revenu plus d’une fois et ce n’est pas un hasard. Better Auth a été conçu avec la Developper Experience en tête et cela se ressent dès la première installation : tout est fluide et agréable à utiliser.

    Au-delà de cette facilité d’usage, Better Auth est désormais le successeur officiel d’Auth.js. C’est un outil solide qui combine sécurité, extensibilité et rapidité de mise en place.

    Chez Premier Octet, Better Auth est désormais notre solution de référence pour gérer l’authentification dans les projets clients. Sa simplicité d’intégration et sa flexibilité en font un choix naturel pour nos développements.

    👉 Si vous utilisez déjà Auth.js, Better Auth vaut clairement la migration.

    À découvrir également

    Premier Octet vous accompagne dans le développement de vos projets avec prisma

    Discuter de votre projet prisma