Le JSON Web Token (JWT) permet l'échange sécurisé de jetons entre plusieurs parties. Ce dernier est composé de trois parties : un header, un payload et une signature. Un JWT est forcément chiffré. Il existe beaucoup de solutions pour déchiffrer les informations d'un JWT, découvrons celles intégrées dans Sublime Text et Visual Studio Code.

Le fonctionnement du JWT est clairement expliqué à la fois sur Wikipedia et sur JWT.io.

En développement, on peut être amené à utiliser du JWT. Pour les tests, il peut être intéressant d'utiliser un décodeur de JWT, comme celui proposé sur JWT.io ou encore JWT Toolkit.

Pour ne pas perdre de temps et ne pas utiliser d'outils externe, les logiciels Sublime Text et Visual Studio Code disposent d'extensions permettant de déchiffrer un JWT.

Visual Studio Code

Il existe plusieurs extension disponible sur VS Code permettant de déchiffrer un JWT. Ma préférence va à JWT Debugger, qui permet d'obtenir les informations du JWT en sélectionnant le jeton, puis en recherchant la commande "jwt" dans la palette (Ctrl+Shift+P) :

Un raccourci effectue également toutes ces actions : Ctrl+Shift+D.

Le code source de JWT Debugger est disponible sur Github.

Sublime Text

Sublime Text a son équivalement, l'extension JWT Decode. Le principe est relativement le même : vous sélectionnez le jeton, ouvrez la palette de commandes et exécutez la commande "jwt decode". Validez le décodage en tapant la touche Entrée :

Le code source de JWT Decode est disponible sur Github.