Qu'est-ce que JWT (JSON Web Token) ?
Format qui permet de transmettre, accompagnées d'une signature, des informations au format JSON (des claims). Les trois parties « en-tête.charge utile.signature » sont chacune codées en Base64URL et reliées par des « . ». La signature permet de vérifier l'absence de falsification et l'émetteur, mais dans un JWT signé ordinaire la charge utile n'est pas chiffrée : on n'y met donc pas d'informations secrètes. Il sert notamment pour les jetons d'accès utilisés pour l'authentification auprès des API et pour les jetons d'identité d'OpenID Connect, souvent avec une date d'expiration (exp) courte.
Nom japonais: JWT(JSON Web Token)
« JWT (JSON Web Token) » apparaît dans 2 questions d'entraînement réparties sur 1 thèmes, dont Bases des technologies web.
Domaine: Bases des technologies web
Questions fréquentes
Faut-il utiliser un JWT ou un identifiant de session ?
Un identifiant de session n'est qu'une clé qui permet de retrouver des informations conservées sur le serveur ; une déconnexion ou une invalidation se répercute donc immédiatement côté serveur. Un JWT peut être vérifié sans que le serveur conserve d'informations, ce qui convient aux échanges entre plusieurs services, mais il a le défaut d'être difficile à révoquer. Pour la connexion à un seul site web, l'identifiant de session est souvent plus simple à gérer.
Quelle est la différence entre Base64URL et Base64 ?
Base64URL est une variante de Base64 qui remplace « + » et « / », qui ont un sens particulier dans les URL, par « - » et « _ », et qui omet souvent les « = » finaux. Les JWT utilisent ce format pour pouvoir être placés tels quels dans une URL ou un en-tête HTTP. Aucun des deux n'est un chiffrement : n'importe qui peut revenir aux données d'origine.