hat-javascript-sdk
Version:
HAT JavaScript SDK
57 lines (56 loc) • 1.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var jwt_decode = require("jwt-decode");
var Jwt = /** @class */ (function () {
function Jwt() {
}
Jwt.decodeToken = function (encodedToken) {
try {
return jwt_decode(encodedToken);
}
catch (e) {
throw Error('Failed to decode the token');
}
};
Jwt.isExpired = function (decodedToken) {
var dayInSeconds = 86400; // 24*60*60 seconds (one day)
var tokenShortLife = 3 * dayInSeconds; // 3 days
if (!decodedToken.iat) {
return true;
}
else {
var iatDate = new Date(0);
var expDate = new Date(0);
var dateNow = new Date();
iatDate.setUTCSeconds(decodedToken.iat + tokenShortLife);
expDate.setUTCSeconds(decodedToken.exp);
return iatDate < dateNow || expDate < dateNow;
}
};
Jwt.prototype.isTokenExpired = function (token) {
var expirationDate = this.getTokenExpirationDate(token);
if (!expirationDate) {
return true;
}
return expirationDate < new Date();
};
Jwt.prototype.getTokenExpirationDate = function (encodedToken) {
try {
var token = Jwt.decodeToken(encodedToken);
if (!token) {
return null;
}
if (!token.exp) {
return null;
}
var expDate = new Date(0);
expDate.setUTCSeconds(token.exp);
return expDate;
}
catch (e) {
return null;
}
};
return Jwt;
}());
exports.Jwt = Jwt;