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
JavaScript
;
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
};