Intégrer Better Auth dans un projet NodeJS/TS

Intégrer Better Auth dans un projet NodeJS/TS

Vous avez besoin d'intégrer de l'authentification dans votre projet NodeJS/TypeScript ? Plutôt que de tout développer vous même, intégrez le framework Better Auth à votre projet pour un gain de temps et une meilleure gestion !

Présentation

Better Auth est un framework d’authentification pour NodeJS et TypeScript. Il intègre une gestion assez poussée de l'authentification allant de la 2FA en passant par l'OIDC, jusqu'au JWT.

Installation

1. Installer Better Auth via le gestionnaire de packages NPM :

npm install better-auth

Mise en place

2. Variables d’environnement

Créer un fichier .env (ou équivalent) avec :

BETTER_AUTH_SECRET=<une clé aléatoire>
BETTER_AUTH_URL=http://localhost:3000  # ou l’URL de ton serveur d’auth

3. Configurer l’instance Better Auth

Créer un fichier auth.ts (ou auth.js si TypeScript n'est pas utilisé) :

import { betterAuth } from "better-auth";
export const auth = betterAuth({
  emailAndPassword: { enabled: true },
  socialProviders: { github: { clientId: "", clientSecret: "" } },
});

4. Définir la route API via Express

Express est un framework minimaliste pour Node.js qui sert à créer des applications web et des API facilement. Nous allons donc définir notre route dans  /auth  pour communiquer avec notre backend et ainsi accéder à l'authentification :

import express from "express";
import { toNodeHandler } from "better-auth/node";
import { auth } from "./auth";

const app = express();
app.all("/api/auth/*", toNodeHandler(auth));
app.listen(3000);

Intégration

Maintenant que nous avons installé le module NodeJS Better Auth, que nous avons définit les variables d'environnement nécessaires, configuré l'instance d'authentification et définit notre route d'API, il faut que notre Frontend interagisse avec notre Backend.

Voici donc un exemple d'utilisation du client Better Auth en ReactJS :

import { createAuthClient } from "better-auth/react";

export const authClient = createAuthClient({
  baseURL: "http://localhost:3000",
});

Aller plus loin

Better Auth ne se limite pas à une simple authentification par email et mot de passe.
Voici quelques pistes pour approfondir son intégration :

🔐 Activer la 2FA (Two-Factor Authentication) pour renforcer la sécurité des comptes utilisateurs.

🌍 Configurer l’OAuth2 / OpenID Connect (OIDC) pour permettre la connexion via Google, GitHub, Microsoft, etc.

🧑‍💻 Gérer les organisations et rôles utilisateurs grâce au support multi-tenant intégré.

🪄 Utiliser des plugins pour ajouter des fonctionnalités (audit, invitations, restrictions d’accès…).

🧱 Adapter à votre stack existante : Better Auth fonctionne aussi avec Hono, Next.js, SvelteKit, et d’autres frameworks.

☁️ Déployer en production avec des variables d’environnement sécurisées et un reverse proxy (nginx, Traefik…).

👉 Documentation officielle : https://www.better-auth.com/docs