J'utilise un jeton jwt pour l'authentification et je voudrais lire les informations de charge utile côté client. En ce moment, je fais quelque chose comme ça:
var payload = JSON.parse(window.atob(token.split('.')[1]));
Existe-t-il une meilleure façon de travailler avec des jetons JWT dans le navigateur?
De https://github.com/auth0/jwt-decode
téléchargez le fichier .build/jwt-decode.min.js et incluez-le dans le projet.
<script src="js/jwt-decode.min.js"></script>
var token = 'eyJ0eXAiO.../// jwt token';
var decoded = jwt_decode(token);
console.log(decoded);
Cette solution simple renvoie un jeton brut, un en-tête et la charge utile:
function jwtDecode(t) {
let token = {};
token.raw = t;
token.header = JSON.parse(window.atob(t.split('.')[0]));
token.payload = JSON.parse(window.atob(t.split('.')[1]));
return (token)
}