Maison  >  Article  >  interface Web  >  Comment décoder les jetons JWT en JavaScript sans utiliser de bibliothèque ?

Comment décoder les jetons JWT en JavaScript sans utiliser de bibliothèque ?

DDD
DDDoriginal
2024-10-31 08:14:01503parcourir

How to Decode JWT Tokens in JavaScript Without Using a Library?

Décoder les jetons JWT en JavaScript sans bibliothèque

Décoder la charge utile d'un jeton JWT sans recourir à des bibliothèques externes est une tâche courante en frontend développement. Pour y parvenir, vous pouvez suivre ces étapes :

Étape 1 : Extraire les segments du jeton

Le jeton JWT se compose de trois segments séparés par des points : en-tête, charge utile et signature. Extrayez le deuxième segment, qui est la charge utile.

Étape 2 : décoder la charge utile Base64

La charge utile est codée en Base64. Décodez-le à l'aide de la fonction atob() dans le navigateur ou de Buffer.from().toString() dans Node.js.

Étape 3 : Charge utile de décodage d'URL

La fonction atob() utilise base64, qui doit être décodée en URL pour produire la charge utile JSON réelle.

Étape 4 : analyser la charge utile JSON

Convertir la charge utile décodée à un objet JavaScript à l'aide de JSON.parse().

Exemple

Considérez cet exemple de jeton JWT :

xxxxxxxx.XXXXXXXX.xxxxxxxx

Décodage de la charge utile à l'aide du les étapes ci-dessus donneraient l'objet JSON suivant :

{
  "exp": 10012016,
  "name": "john doe",
  "scope": ["admin"]
}

Remarque : Cette méthode ne valide pas l'authenticité du jeton, s'appuyant uniquement sur la signature du fournisseur de jetons.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn