UNPKG

jwt-check-expiry

Version:
48 lines 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decode = void 0; /** * @author Vipin Kumar, Parveen Kumar * @summary Check JWT is expired or not * @description A global JWT validator utility check weather expired or not. * @public */ var atob_1 = require("./atob"); function isJwtTokenExpired(token, optionalKey) { if (typeof token !== 'string' || !token) throw new Error('Invalid JWT token'); var decodedToken = decode(token); var currentTime = new Date().getTime() / 1000; if (!optionalKey && decodedToken.payload.exp) { return currentTime > decodedToken.payload.exp; } else if (decodedToken.payload.hasOwnProperty(optionalKey)) { if (currentTime > (decodedToken.payload["" + optionalKey])) { return true; } else { return false; } } else { return true; } } exports.default = isJwtTokenExpired; function decode(token) { var _a; var header = {}; var payload = {}; try { _a = token .split('.') .slice(0, 2) .map(function (encodedString) { return JSON.parse(atob_1.default(encodedString)); }), header = _a[0], payload = _a[1]; } catch (err) { throw new Error('Invalid JWT token'); } return { header: header, payload: payload }; } exports.decode = decode; //# sourceMappingURL=index.js.map