UNPKG

hat-javascript-sdk

Version:

HAT JavaScript SDK

57 lines (56 loc) 1.75 kB
"use strict"; 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;