@smash-sdk/iam
Version:
35 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExtendedIam = void 0;
const core_1 = require("@smash-sdk/core");
const errors_1 = require("./errors");
const jwt_decode_1 = require("jwt-decode");
const DecodeTokenError_1 = require("./types/DecodeToken/DecodeTokenError");
class ExtendedIam extends core_1.Client {
constructor(params) {
super(params);
this.errors = errors_1.errors;
}
decodeToken(token) {
return new Promise((resolve, reject) => {
try {
const { id, username, region, ip, scope, account, iat: issuedAt, exp: expiration, } = (0, jwt_decode_1.default)(token);
resolve({
id,
username,
region,
ip,
scope,
account,
issuedAt: new Date(issuedAt * 1000).toISOString(),
expiration: new Date(expiration * 1000).toISOString(),
});
}
catch (error) {
reject(new DecodeTokenError_1.FailedToDecodeTokenError(error));
}
});
}
}
exports.ExtendedIam = ExtendedIam;
//# sourceMappingURL=extendedIam.js.map