UNPKG

@leteu/jwt-decoder

Version:
29 lines (28 loc) 879 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decodeToken = decodeToken; function decodeToken(token) { let base64Url; if (token.match(/^[A-Za-z0-9-_]*\.[A-Za-z0-9-_]*\.[A-Za-z0-9-_]*$/)) { base64Url = token.split('.')[1]; } else if (token.match(/^[A-Za-z0-9-_]*$/)) { base64Url = token; } else { console.log('token is not valid'); return {}; } const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); try { const jsonString = decodeURIComponent(Array.from(atob(base64)) .map((char) => `%${char.charCodeAt(0).toString(16).padStart(2, '0')}`) .join('')); return JSON.parse(jsonString); } catch (error) { console.error('Failed to decode token:', error); return {}; } } exports.default = decodeToken;