JWT
JWT (JSON Web Token) est un jeton compact et autonome qui transmet de façon sûre des affirmations en objet JSON, largement utilisé pour l'authentification sans état et l'échange d'informations.
Objectif
Transmettre les informations d'authentification entre services sans état, éliminant le stockage de sessions côté serveur.
Mécanisme
Il a trois parties — Header (algorithme).Payload (affirmations).Signature — toutes encodées en Base64URL. La signature utilise HMAC ou RSA, et sa vérification garantit l'intégrité. Les affirmations incluent iss (émetteur), exp (expiration) et sub (sujet). Le jeton n'est pas chiffré ; garder les données sensibles hors du payload.
Cas d’usage
- Authentification d'API sans état
- Jetons OAuth 2.0
- Transfert d'identité inter-domaines en SSO
- Authentification de service à service
Exemples
- entrée
header.payload.signatureOutputRead the payload after verifying the signatureBase64URL plus signature
Erreurs courantes
- Placing sensitive data in the payload (it is only Base64, not encryption)
- Keep only non-sensitive claims in the payload
Termes associés
OAuth
OAuth 2.0 est un cadre d'autorisation permettant à des applications tierces d'accéder aux ressources de l'utilisateur avec son consentement, sans partager de mots de passe, au moyen de jetons. GLOSSAIRE
Cookie
Un cookie est un couple clé-valeur défini par le serveur et stocké par le navigateur, envoyé automatiquement avec les requêtes de même origine pour la gestion de session et d'état. GLOSSAIRE
HMAC
HMAC (code d'authentification de message fondé sur le hachage) est un code d'authentification combinant une fonction de hachage et une clé secrète, fournissant intégrité et authenticité. GLOSSAIRE
Bearer Token
Un jeton Bearer est un type de jeton qui fonctionne uniquement par possession : il est envoyé dans l'en-tête Authorization: Bearer <token>, de sorte que quiconque le détient peut l'utiliser, sans identifiants supplémentaires. GLOSSAIRE