UNPKG

jwt-node-decoder

Version:

Decodes JWT (JSON Web Token) and checks expiration date. A Node port of angular-jwt.

45 lines (34 loc) 1.17 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.isTokenExpired = exports.getTokenExpirationDate = exports.decodeToken = undefined; var _jwtDecode = require('jwt-decode'); var _jwtDecode2 = _interopRequireDefault(_jwtDecode); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var decodeToken = _jwtDecode2.default; function getTokenExpirationDate(token) { var decoded = (0, _jwtDecode2.default)(token); if (decoded.exp == null) { return null; } var d = new Date(0); // The 0 here is the key, which sets the date to the epoch d.setUTCSeconds(decoded.exp); return d; } function isTokenExpired(token, offsetSeconds) { var d = getTokenExpirationDate(token); if (d == null) { return false; } // Token expired? return !(d.valueOf() > new Date().valueOf() + (offsetSeconds || 0) * 1000); } exports.decodeToken = decodeToken; exports.getTokenExpirationDate = getTokenExpirationDate; exports.isTokenExpired = isTokenExpired; exports.default = { decodeToken: decodeToken, getTokenExpirationDate: getTokenExpirationDate, isTokenExpired: isTokenExpired };