Next.js
Auth
Node.js
Authentification sécurisée avec Auth.js
Credentials, OAuth, sessions, rôles : architecture d'authentification robuste pour Next.js avec Auth.js v5.
Emmanuel Mulonda Johannes3 juillet 20269 min de lecture
Authentification sécurisée avec Auth.js
Les fondations
Auth.js v5 (ex-NextAuth) gère les sessions, les providers OAuth et les credentials. Il s'intègre à Prisma via @auth/prisma-adapter.
export const { handlers, auth, signIn, signOut } = NextAuth({
adapter: PrismaAdapter(db),
providers: [Credentials({ ... })],
session: { strategy: "jwt" },
});
Hacher les mots de passe
import bcrypt from "bcryptjs";
const hash = await bcrypt.hash(password, 12);
Protéger l'application
- Middleware pour la première couche (
/admin/:path*) - Vérification serveur dans chaque page sensible via
auth() - Rôles vérifiés dans les routes API
Les pièges à éviter
- Stocker les mots de passe en clair ❌
- Faire confiance au
rolevenu du client ❌ - Exposer des secrets via des variables
NEXT_PUBLIC_❌
À retenir : l'authentification se conçoit en couches. Chaque couche peut être contournée seule — c'est la profondeur qui protège.
Next.js
Auth
Node.js