Aller au contenu
Perrine HonoréPerrine Honoré · Blog
MéthodePar Perrine Honoré · · 6 min de lecture

JWT ou cookie de session : le vrai débat pour un SaaS moderne

JWT dans un localStorage, JWT dans un cookie, session cookie classique : le comparatif sécurité et pragmatique pour un SaaS moderne.

En bref

Le bon défaut pour un SaaS n'est ni le JWT en localStorage ni un camp dans le débat JWT contre session, mais un cookie httpOnly, Secure et SameSite=Lax, qui peut contenir un JWT ou un identifiant de session. Le JWT en localStorage est vulnérable au XSS : toute dépendance tierce compromise peut voler le jeton.

Le débat JWT vs cookie a beaucoup fait perdre de temps sur Twitter. En 2023, la vraie réponse est : ni un ni l'autre en isolation, mais un cookie httpOnly qui peut contenir un JWT.

Best practice : session cookie httpOnly + Secure + SameSite=Lax. Le reste est du détail.

JWT dans localStorage : NON

Vulnérable au XSS. Toute lib tierce compromise peut voler le token. À oublier en 2023 pour du SaaS sérieux.

  • Inaccessible en JavaScript (protection XSS)
  • Envoyé automatiquement par le navigateur
  • SameSite=Lax pour la CSRF
  • Secure obligatoire en HTTPS
  • Session ID + Redis : révocation instantanée, lookup à chaque requête
  • JWT signé : stateless, plus rapide, mais révocation plus complexe

Quand chaque option gagne

Session pour la plupart des SaaS < 100 k users. JWT quand vous avez plusieurs services qui doivent vérifier l'identité sans lookup DB partagé.

Un cookie httpOnly avec un JWT court à l'intérieur = pragmatique, sûr, scalable. C'est le vrai choix par défaut.

On regarde votre auth ?

En 30 minutes on peut auditer votre setup. Réservez un appel. À lire : Magic link, OAuth, mot de passe.

Une question avant l'appel ?

Je réponds personnellement sous 24 h ouvrées.

Le bouton ouvre votre messagerie avec le message prêt. Si rien ne s'ouvre, écrivez directement à perrine.honore@gmail.com.