La communauté des développeurs web — front, back, DevOps, mobile et design. Rejoignez la discussion. Rejoindre
WeberForums
Cybersécurité

Authentification : sessions, JWT et OAuth expliqués

17 juin 2026 · Cybersécurité
Authentification : sessions, JWT et OAuth expliqués

Gérer l’identité des utilisateurs est l’une des tâches les plus sensibles — et les plus mal comprises — du développement web. Sessions, JWT, OAuth : ces termes se mélangent souvent. Clarifions, car une authentification bâclée est une porte ouverte.

Le problème de base : HTTP n’a pas de mémoire

HTTP est sans état : chaque requête est indépendante. Après une connexion, le serveur doit pourtant « se souvenir » de l’utilisateur. Deux grandes stratégies répondent à ce besoin.

Sessions : l’état côté serveur

Le modèle classique : à la connexion, le serveur crée une session (stockée côté serveur) et renvoie un cookie contenant un identifiant de session. À chaque requête, le navigateur renvoie le cookie, le serveur retrouve la session. Simple, éprouvé, révocable instantanément (on supprime la session). Sa contrainte : le serveur doit stocker et partager cet état — un défi quand on multiplie les serveurs.

JWT : l’état côté client

Le JWT (JSON Web Token) inverse la logique : le serveur émet un jeton signé contenant les informations de l’utilisateur, et le client le renvoie à chaque requête. Le serveur n’a rien à stocker : il vérifie la signature, et fait confiance au contenu. Idéal pour les architectures distribuées et les API. Le revers : un JWT est difficile à révoquer avant son expiration, et ne doit jamais contenir de données sensibles (il est lisible).

Sessions ou JWT ?

Application web classique avec un serveur : les sessions restent souvent le choix le plus sûr et le plus simple. API consommée par des clients variés, microservices : le JWT brille. Beaucoup combinent les deux avec des refresh tokens pour concilier sécurité et souplesse.

A lire également :  Sécuriser une application web : le Top 10 OWASP

OAuth : déléguer, pas stocker les mots de passe

OAuth 2.0 répond à une autre question : « se connecter avec Google/GitHub ». C’est un protocole de délégation d’autorisation : l’utilisateur autorise votre app à accéder à certaines infos chez un fournisseur, sans jamais lui donner son mot de passe. Vous n’avez plus à gérer les mots de passe vous-même — un risque de moins.

À retenir

Les sessions gardent l’état côté serveur (simple, révocable) ; les JWT le déportent côté client (scalable, mais difficile à révoquer) ; OAuth délègue la connexion à un tiers de confiance. Choisissez selon votre architecture — et rappelez-vous : en authentification, la simplicité bien maîtrisée bat toujours la complexité mal comprise.

à lire aussi

Dans la même rubrique