include node_modules so release .zip is deployable

This commit is contained in:
2023-11-24 17:44:25 -05:00
parent 6c86cfe5d2
commit 8b11c41267
8963 changed files with 874175 additions and 1 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+5
View File
@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.REFRESH_MESSAGE = exports.EXPIRE_WINDOW_MS = void 0;
exports.EXPIRE_WINDOW_MS = 5 * 60 * 1000;
exports.REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;
+82
View File
@@ -0,0 +1,82 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromSso = void 0;
const property_provider_1 = require("@smithy/property-provider");
const shared_ini_file_loader_1 = require("@smithy/shared-ini-file-loader");
const constants_1 = require("./constants");
const getNewSsoOidcToken_1 = require("./getNewSsoOidcToken");
const validateTokenExpiry_1 = require("./validateTokenExpiry");
const validateTokenKey_1 = require("./validateTokenKey");
const writeSSOTokenToFile_1 = require("./writeSSOTokenToFile");
const lastRefreshAttemptTime = new Date(0);
const fromSso = (init = {}) => async () => {
const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init);
const profileName = (0, shared_ini_file_loader_1.getProfileName)(init);
const profile = profiles[profileName];
if (!profile) {
throw new property_provider_1.TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false);
}
else if (!profile["sso_session"]) {
throw new property_provider_1.TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`);
}
const ssoSessionName = profile["sso_session"];
const ssoSessions = await (0, shared_ini_file_loader_1.loadSsoSessionData)(init);
const ssoSession = ssoSessions[ssoSessionName];
if (!ssoSession) {
throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false);
}
for (const ssoSessionRequiredKey of ["sso_start_url", "sso_region"]) {
if (!ssoSession[ssoSessionRequiredKey]) {
throw new property_provider_1.TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false);
}
}
const ssoStartUrl = ssoSession["sso_start_url"];
const ssoRegion = ssoSession["sso_region"];
let ssoToken;
try {
ssoToken = await (0, shared_ini_file_loader_1.getSSOTokenFromFile)(ssoSessionName);
}
catch (e) {
throw new property_provider_1.TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${constants_1.REFRESH_MESSAGE}`, false);
}
(0, validateTokenKey_1.validateTokenKey)("accessToken", ssoToken.accessToken);
(0, validateTokenKey_1.validateTokenKey)("expiresAt", ssoToken.expiresAt);
const { accessToken, expiresAt } = ssoToken;
const existingToken = { token: accessToken, expiration: new Date(expiresAt) };
if (existingToken.expiration.getTime() - Date.now() > constants_1.EXPIRE_WINDOW_MS) {
return existingToken;
}
if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1000) {
(0, validateTokenExpiry_1.validateTokenExpiry)(existingToken);
return existingToken;
}
(0, validateTokenKey_1.validateTokenKey)("clientId", ssoToken.clientId, true);
(0, validateTokenKey_1.validateTokenKey)("clientSecret", ssoToken.clientSecret, true);
(0, validateTokenKey_1.validateTokenKey)("refreshToken", ssoToken.refreshToken, true);
try {
lastRefreshAttemptTime.setTime(Date.now());
const newSsoOidcToken = await (0, getNewSsoOidcToken_1.getNewSsoOidcToken)(ssoToken, ssoRegion);
(0, validateTokenKey_1.validateTokenKey)("accessToken", newSsoOidcToken.accessToken);
(0, validateTokenKey_1.validateTokenKey)("expiresIn", newSsoOidcToken.expiresIn);
const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1000);
try {
await (0, writeSSOTokenToFile_1.writeSSOTokenToFile)(ssoSessionName, {
...ssoToken,
accessToken: newSsoOidcToken.accessToken,
expiresAt: newTokenExpiration.toISOString(),
refreshToken: newSsoOidcToken.refreshToken,
});
}
catch (error) {
}
return {
token: newSsoOidcToken.accessToken,
expiration: newTokenExpiration,
};
}
catch (error) {
(0, validateTokenExpiry_1.validateTokenExpiry)(existingToken);
return existingToken;
}
};
exports.fromSso = fromSso;
+11
View File
@@ -0,0 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromStatic = void 0;
const property_provider_1 = require("@smithy/property-provider");
const fromStatic = ({ token }) => async () => {
if (!token || !token.token) {
throw new property_provider_1.TokenProviderError(`Please pass a valid token to fromStatic`, false);
}
return token;
};
exports.fromStatic = fromStatic;
+15
View File
@@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getNewSsoOidcToken = void 0;
const client_sso_oidc_node_1 = require("./bundle/client-sso-oidc-node");
const getSsoOidcClient_1 = require("./getSsoOidcClient");
const getNewSsoOidcToken = (ssoToken, ssoRegion) => {
const ssoOidcClient = (0, getSsoOidcClient_1.getSsoOidcClient)(ssoRegion);
return ssoOidcClient.send(new client_sso_oidc_node_1.CreateTokenCommand({
clientId: ssoToken.clientId,
clientSecret: ssoToken.clientSecret,
refreshToken: ssoToken.refreshToken,
grantType: "refresh_token",
}));
};
exports.getNewSsoOidcToken = getNewSsoOidcToken;
+14
View File
@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSsoOidcClient = void 0;
const client_sso_oidc_node_1 = require("./bundle/client-sso-oidc-node");
const ssoOidcClientsHash = {};
const getSsoOidcClient = (ssoRegion) => {
if (ssoOidcClientsHash[ssoRegion]) {
return ssoOidcClientsHash[ssoRegion];
}
const ssoOidcClient = new client_sso_oidc_node_1.SSOOIDCClient({ region: ssoRegion });
ssoOidcClientsHash[ssoRegion] = ssoOidcClient;
return ssoOidcClient;
};
exports.getSsoOidcClient = getSsoOidcClient;
+7
View File
@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
tslib_1.__exportStar(require("./bundle/client-sso-oidc-node"), exports);
tslib_1.__exportStar(require("./fromSso"), exports);
tslib_1.__exportStar(require("./fromStatic"), exports);
tslib_1.__exportStar(require("./nodeProvider"), exports);
+9
View File
@@ -0,0 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.nodeProvider = void 0;
const property_provider_1 = require("@smithy/property-provider");
const fromSso_1 = require("./fromSso");
const nodeProvider = (init = {}) => (0, property_provider_1.memoize)((0, property_provider_1.chain)((0, fromSso_1.fromSso)(init), async () => {
throw new property_provider_1.TokenProviderError("Could not load token from any providers", false);
}), (token) => token.expiration !== undefined && token.expiration.getTime() - Date.now() < 300000, (token) => token.expiration !== undefined);
exports.nodeProvider = nodeProvider;
+11
View File
@@ -0,0 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateTokenExpiry = void 0;
const property_provider_1 = require("@smithy/property-provider");
const constants_1 = require("./constants");
const validateTokenExpiry = (token) => {
if (token.expiration && token.expiration.getTime() < Date.now()) {
throw new property_provider_1.TokenProviderError(`Token is expired. ${constants_1.REFRESH_MESSAGE}`, false);
}
};
exports.validateTokenExpiry = validateTokenExpiry;
+11
View File
@@ -0,0 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateTokenKey = void 0;
const property_provider_1 = require("@smithy/property-provider");
const constants_1 = require("./constants");
const validateTokenKey = (key, value, forRefresh = false) => {
if (typeof value === "undefined") {
throw new property_provider_1.TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? ". Cannot refresh" : ""}. ${constants_1.REFRESH_MESSAGE}`, false);
}
};
exports.validateTokenKey = validateTokenKey;
+12
View File
@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.writeSSOTokenToFile = void 0;
const shared_ini_file_loader_1 = require("@smithy/shared-ini-file-loader");
const fs_1 = require("fs");
const { writeFile } = fs_1.promises;
const writeSSOTokenToFile = (id, ssoToken) => {
const tokenFilepath = (0, shared_ini_file_loader_1.getSSOTokenFilepath)(id);
const tokenString = JSON.stringify(ssoToken, null, 2);
return writeFile(tokenFilepath, tokenString);
};
exports.writeSSOTokenToFile = writeSSOTokenToFile;