JavaScript で、JWT のペイロードだけを Base64 で解析
以下のようなメソッドで充分
function parseJwt (token) { var base64Url = token.split('.')[1]; var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); return JSON.parse(jsonPayload); }
let payload= parseJwt( JWTデータ ); console.log( JSON.stringify(payload, null, 4) );
結果
{ "sub": "1234567890", "name": "John Doe", "iat": 1516239022 }