Dans les architectures modernes de microservices sans état et les systèmes OAuth 2.0 / OpenID Connect, les JSON Web Tokens (JWT) sont le standard (RFC 7519) permettant de transmettre en toute sécurité des revendications d’identité.
1. Anatomie du Token en 3 Parties
Un jeton JWT se compose de trois parties encodées en Base64URL séparées par des points (.) :
2. Revendications Enregistrées Standard (iss, exp, sub)
iss(Issuer) : Entité ayant émis le jeton.sub(Subject) : Identifiant unique de l’utilisateur.exp(Expiration Time) : Horodatage Unix au-delà duquel le jeton est rejeté.iat(Issued At) : Horodatage de création du jeton.
3. Signature Symétrique (HS256) vs Asymétrique (RS256)
HS256 (HMAC-SHA256) repose sur une clé secrète partagée. À l’inverse, RS256 (RSA-SHA256) utilise une clé privée pour signer et une clé publique (JWKS) pour vérifier, permettant la validation par des tiers sans compromettre la capacité d’émission.
4. Failles de Sécurité et Pièges Fréquents
Les erreurs critiques incluent l’acceptation de l’en-tête "alg": "none", le stockage de jetons dans localStorage (sensible aux failles XSS) et l’oubli de validation de la signature avant utilisation des données.