function jwtDecode(jwt) { // Source: https://inventivehq.com/blog/how-to-decode-a-jwt const parts = jwt.split('.'); const header = parts[0]; const payload = parts[1]; const signature = parts[2]; // Base64URL to Base64 function base64UrlToBase64(str) { return str.replace(/-/g, '+').replace(/_/g, '/'); } // Decode const decodedHeader = JSON.parse(atob(base64UrlToBase64(header))); const decodedPayload = JSON.parse(atob(base64UrlToBase64(payload))); return { raw: jwt, header: decodedHeader, payload: decodedPayload, signature: signature } }