remove node_modules and .gitignore them
This commit is contained in:
-1032
File diff suppressed because it is too large
Load Diff
-1038
File diff suppressed because it is too large
Load Diff
-5
@@ -1,5 +0,0 @@
|
||||
"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
@@ -1,82 +0,0 @@
|
||||
"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
@@ -1,11 +0,0 @@
|
||||
"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
@@ -1,15 +0,0 @@
|
||||
"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
@@ -1,14 +0,0 @@
|
||||
"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
@@ -1,7 +0,0 @@
|
||||
"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
@@ -1,9 +0,0 @@
|
||||
"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
@@ -1,11 +0,0 @@
|
||||
"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
@@ -1,11 +0,0 @@
|
||||
"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
@@ -1,12 +0,0 @@
|
||||
"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;
|
||||
Reference in New Issue
Block a user