cdk-multi-profile-plugin
Version:
Adds multi profile/account, mfa and aws sso support to cdk apps
54 lines • 4.38 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SSOLoginCache = void 0;
const fs = __importStar(require("fs-extra"));
const path = __importStar(require("path"));
class SSOLoginCache {
constructor(ssoCachePath) {
try {
this.files = fs
.readdirSync(ssoCachePath)
.map((file) => path.join(ssoCachePath, file));
}
catch (e) {
this.files = [];
}
}
getCachedLogin(ssoProfile) {
for (const file of this.files) {
const json = fs.readJSONSync(file);
if ((json === null || json === void 0 ? void 0 : json.startUrl) === ssoProfile.sso_start_url &&
(json === null || json === void 0 ? void 0 : json.region) === ssoProfile.sso_region) {
return {
accessToken: json.accessToken,
};
}
}
throw new Error('Current cached SSO login is expired or invalid');
}
}
exports.SSOLoginCache = SSOLoginCache;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NvLWxvZ2luLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Nzby1sb2dpbi1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUErQjtBQUMvQiwyQ0FBNkI7QUFFN0IsTUFBYSxhQUFhO0lBR3hCLFlBQVksWUFBb0I7UUFDOUIsSUFBSTtZQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRTtpQkFDWixXQUFXLENBQUMsWUFBWSxDQUFDO2lCQUN6QixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDakQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxVQUFrQztRQUd0RCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDN0IsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQyxJQUNFLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFFBQVEsTUFBSyxVQUFVLENBQUMsYUFBYTtnQkFDM0MsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSxNQUFLLFVBQVUsQ0FBQyxVQUFVLEVBQ3RDO2dCQUNBLE9BQU87b0JBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2lCQUM5QixDQUFDO2FBQ0g7U0FDRjtRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0Y7QUE5QkQsc0NBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuZXhwb3J0IGNsYXNzIFNTT0xvZ2luQ2FjaGUge1xuICBwcml2YXRlIGZpbGVzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihzc29DYWNoZVBhdGg6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmZpbGVzID0gZnNcbiAgICAgICAgLnJlYWRkaXJTeW5jKHNzb0NhY2hlUGF0aClcbiAgICAgICAgLm1hcCgoZmlsZSkgPT4gcGF0aC5qb2luKHNzb0NhY2hlUGF0aCwgZmlsZSkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuZmlsZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FjaGVkTG9naW4oc3NvUHJvZmlsZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHtcbiAgICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICB9IHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgdGhpcy5maWxlcykge1xuICAgICAgY29uc3QganNvbiA9IGZzLnJlYWRKU09OU3luYyhmaWxlKTtcbiAgICAgIGlmIChcbiAgICAgICAganNvbj8uc3RhcnRVcmwgPT09IHNzb1Byb2ZpbGUuc3NvX3N0YXJ0X3VybCAmJlxuICAgICAgICBqc29uPy5yZWdpb24gPT09IHNzb1Byb2ZpbGUuc3NvX3JlZ2lvblxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYWNjZXNzVG9rZW46IGpzb24uYWNjZXNzVG9rZW4sXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdDdXJyZW50IGNhY2hlZCBTU08gbG9naW4gaXMgZXhwaXJlZCBvciBpbnZhbGlkJyk7XG4gIH1cbn1cbiJdfQ==