November 18, 2024
·
9 min de lecture
·Par Mostafa Aljazar

Authentification JWT dans Next.js sans NextAuth

NextAuth apporte beaucoup de magie — et beaucoup de complexité. Voici comment construire vous-même un système d'authentification JWT propre et sécurisé avec les cookies httpOnly et les Server Actions.

NextAuth est un excellent outil quand vous avez besoin de fournisseurs OAuth ou d'un store de sessions en base de données. Mais pour une auth simple admin-only ou des projets où vous contrôlez toutes les credentials, une solution JWT personnalisée est significativement plus simple et plus facile à appréhender.

Les pièces essentielles

Vous avez besoin de quatre choses : une route de login qui vérifie les credentials et pose un cookie httpOnly, un utilitaire JWT qui signe et vérifie les tokens, un middleware qui protège les routes admin en lisant le cookie, et une route de logout qui efface le cookie. C'est tout.

Cookies httpOnly vs localStorage

Ne stockez jamais les JWT dans localStorage. Une faille XSS n'importe où dans votre application donne à un attaquant un accès complet à toute valeur dans localStorage. Les cookies httpOnly ne sont pas accessibles à JavaScript — ils sont uniquement envoyés automatiquement lors des requêtes HTTP, rendant l'exfiltration par XSS impossible.

Protection des routes par middleware

Le middleware Next.js s'exécute sur l'Edge avant que la page ne se rende, ce qui en fait l'endroit idéal pour vérifier le cookie de session. Redirigez vers /auth/login si aucun token valide n'est présent. Cela centralise la protection et la rend impossible à oublier sur des pages individuelles.

Mostafa Aljazar

Développeur Frontend passionné par la création d'expériences web performantes, accessibles et belles avec React.js et Next.js.

Construisons quelque chose d'incroyable ensemble

Se connecter

iconicon

© 2026 Mostafa Aljazar. Tous droits réservés.

Construit avec Next.js & Tailwind CSS