jwt-check-expiry
Version:
check JWT is expired or not.
48 lines • 1.48 kB
JavaScript
;
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