Socket
Socket
Sign inDemoInstall

@aws-sdk/credential-provider-ini

Package Overview
Dependencies
Maintainers
5
Versions
345
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-sdk/credential-provider-ini - npm Package Compare versions

Comparing version 3.490.0 to 3.495.0

11

dist-cjs/fromIni.js

@@ -1,10 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromIni = void 0;
const shared_ini_file_loader_1 = require("@smithy/shared-ini-file-loader");
const resolveProfileData_1 = require("./resolveProfileData");
const fromIni = (init = {}) => async () => {
const profiles = await (0, shared_ini_file_loader_1.parseKnownFiles)(init);
return (0, resolveProfileData_1.resolveProfileData)((0, shared_ini_file_loader_1.getProfileName)(init), profiles, init);
};
exports.fromIni = fromIni;
module.exports = require("./index.js");

177

dist-cjs/index.js

@@ -1,4 +0,173 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
tslib_1.__exportStar(require("./fromIni"), exports);
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.ts
var src_exports = {};
__export(src_exports, {
fromIni: () => fromIni
});
module.exports = __toCommonJS(src_exports);
// src/fromIni.ts
// src/resolveProfileData.ts
// src/resolveAssumeRoleCredentials.ts
var import_shared_ini_file_loader = require("@smithy/shared-ini-file-loader");
// src/resolveCredentialSource.ts
var import_credential_provider_env = require("@aws-sdk/credential-provider-env");
var import_credential_provider_imds = require("@smithy/credential-provider-imds");
var import_property_provider = require("@smithy/property-provider");
var resolveCredentialSource = /* @__PURE__ */ __name((credentialSource, profileName) => {
const sourceProvidersMap = {
EcsContainer: import_credential_provider_imds.fromContainerMetadata,
Ec2InstanceMetadata: import_credential_provider_imds.fromInstanceMetadata,
Environment: import_credential_provider_env.fromEnv
};
if (credentialSource in sourceProvidersMap) {
return sourceProvidersMap[credentialSource]();
} else {
throw new import_property_provider.CredentialsProviderError(
`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, expected EcsContainer or Ec2InstanceMetadata or Environment.`
);
}
}, "resolveCredentialSource");
// src/resolveAssumeRoleCredentials.ts
var isAssumeRoleProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 && ["undefined", "string"].indexOf(typeof arg.external_id) > -1 && ["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 && (isAssumeRoleWithSourceProfile(arg) || isAssumeRoleWithProviderProfile(arg)), "isAssumeRoleProfile");
var isAssumeRoleWithSourceProfile = /* @__PURE__ */ __name((arg) => typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined", "isAssumeRoleWithSourceProfile");
var isAssumeRoleWithProviderProfile = /* @__PURE__ */ __name((arg) => typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined", "isAssumeRoleWithProviderProfile");
var resolveAssumeRoleCredentials = /* @__PURE__ */ __name(async (profileName, profiles, options, visitedProfiles = {}) => {
const data = profiles[profileName];
if (!options.roleAssumer) {
throw new import_property_provider.CredentialsProviderError(
`Profile ${profileName} requires a role to be assumed, but no role assumption callback was provided.`,
false
);
}
const { source_profile } = data;
if (source_profile && source_profile in visitedProfiles) {
throw new import_property_provider.CredentialsProviderError(
`Detected a cycle attempting to resolve credentials for profile ${(0, import_shared_ini_file_loader.getProfileName)(options)}. Profiles visited: ` + Object.keys(visitedProfiles).join(", "),
false
);
}
const sourceCredsProvider = source_profile ? resolveProfileData(source_profile, profiles, options, {
...visitedProfiles,
[source_profile]: true
}) : resolveCredentialSource(data.credential_source, profileName)();
const params = {
RoleArn: data.role_arn,
RoleSessionName: data.role_session_name || `aws-sdk-js-${Date.now()}`,
ExternalId: data.external_id,
DurationSeconds: parseInt(data.duration_seconds || "3600", 10)
};
const { mfa_serial } = data;
if (mfa_serial) {
if (!options.mfaCodeProvider) {
throw new import_property_provider.CredentialsProviderError(
`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`,
false
);
}
params.SerialNumber = mfa_serial;
params.TokenCode = await options.mfaCodeProvider(mfa_serial);
}
const sourceCreds = await sourceCredsProvider;
return options.roleAssumer(sourceCreds, params);
}, "resolveAssumeRoleCredentials");
// src/resolveProcessCredentials.ts
var import_credential_provider_process = require("@aws-sdk/credential-provider-process");
var isProcessProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string", "isProcessProfile");
var resolveProcessCredentials = /* @__PURE__ */ __name(async (options, profile) => (0, import_credential_provider_process.fromProcess)({
...options,
profile
})(), "resolveProcessCredentials");
// src/resolveSsoCredentials.ts
var import_credential_provider_sso = require("@aws-sdk/credential-provider-sso");
var resolveSsoCredentials = /* @__PURE__ */ __name((data) => {
const { sso_start_url, sso_account_id, sso_session, sso_region, sso_role_name } = (0, import_credential_provider_sso.validateSsoProfile)(data);
return (0, import_credential_provider_sso.fromSSO)({
ssoStartUrl: sso_start_url,
ssoAccountId: sso_account_id,
ssoSession: sso_session,
ssoRegion: sso_region,
ssoRoleName: sso_role_name
})();
}, "resolveSsoCredentials");
// src/resolveStaticCredentials.ts
var isStaticCredsProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.aws_access_key_id === "string" && typeof arg.aws_secret_access_key === "string" && ["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1, "isStaticCredsProfile");
var resolveStaticCredentials = /* @__PURE__ */ __name((profile) => Promise.resolve({
accessKeyId: profile.aws_access_key_id,
secretAccessKey: profile.aws_secret_access_key,
sessionToken: profile.aws_session_token,
credentialScope: profile.aws_credential_scope
}), "resolveStaticCredentials");
// src/resolveWebIdentityCredentials.ts
var import_credential_provider_web_identity = require("@aws-sdk/credential-provider-web-identity");
var isWebIdentityProfile = /* @__PURE__ */ __name((arg) => Boolean(arg) && typeof arg === "object" && typeof arg.web_identity_token_file === "string" && typeof arg.role_arn === "string" && ["undefined", "string"].indexOf(typeof arg.role_session_name) > -1, "isWebIdentityProfile");
var resolveWebIdentityCredentials = /* @__PURE__ */ __name(async (profile, options) => (0, import_credential_provider_web_identity.fromTokenFile)({
webIdentityTokenFile: profile.web_identity_token_file,
roleArn: profile.role_arn,
roleSessionName: profile.role_session_name,
roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity
})(), "resolveWebIdentityCredentials");
// src/resolveProfileData.ts
var resolveProfileData = /* @__PURE__ */ __name(async (profileName, profiles, options, visitedProfiles = {}) => {
const data = profiles[profileName];
if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) {
return resolveStaticCredentials(data);
}
if (isAssumeRoleProfile(data)) {
return resolveAssumeRoleCredentials(profileName, profiles, options, visitedProfiles);
}
if (isStaticCredsProfile(data)) {
return resolveStaticCredentials(data);
}
if (isWebIdentityProfile(data)) {
return resolveWebIdentityCredentials(data, options);
}
if (isProcessProfile(data)) {
return resolveProcessCredentials(options, profileName);
}
if ((0, import_credential_provider_sso.isSsoProfile)(data)) {
return resolveSsoCredentials(data);
}
throw new import_property_provider.CredentialsProviderError(`Profile ${profileName} could not be found or parsed in shared credentials file.`);
}, "resolveProfileData");
// src/fromIni.ts
var fromIni = /* @__PURE__ */ __name((init = {}) => async () => {
const profiles = await (0, import_shared_ini_file_loader.parseKnownFiles)(init);
return resolveProfileData((0, import_shared_ini_file_loader.getProfileName)(init), profiles, init);
}, "fromIni");
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
fromIni
});

@@ -1,52 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveAssumeRoleCredentials = exports.isAssumeRoleProfile = void 0;
const property_provider_1 = require("@smithy/property-provider");
const shared_ini_file_loader_1 = require("@smithy/shared-ini-file-loader");
const resolveCredentialSource_1 = require("./resolveCredentialSource");
const resolveProfileData_1 = require("./resolveProfileData");
const isAssumeRoleProfile = (arg) => Boolean(arg) &&
typeof arg === "object" &&
typeof arg.role_arn === "string" &&
["undefined", "string"].indexOf(typeof arg.role_session_name) > -1 &&
["undefined", "string"].indexOf(typeof arg.external_id) > -1 &&
["undefined", "string"].indexOf(typeof arg.mfa_serial) > -1 &&
(isAssumeRoleWithSourceProfile(arg) || isAssumeRoleWithProviderProfile(arg));
exports.isAssumeRoleProfile = isAssumeRoleProfile;
const isAssumeRoleWithSourceProfile = (arg) => typeof arg.source_profile === "string" && typeof arg.credential_source === "undefined";
const isAssumeRoleWithProviderProfile = (arg) => typeof arg.credential_source === "string" && typeof arg.source_profile === "undefined";
const resolveAssumeRoleCredentials = async (profileName, profiles, options, visitedProfiles = {}) => {
const data = profiles[profileName];
if (!options.roleAssumer) {
throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires a role to be assumed, but no role assumption callback was provided.`, false);
}
const { source_profile } = data;
if (source_profile && source_profile in visitedProfiles) {
throw new property_provider_1.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile` +
` ${(0, shared_ini_file_loader_1.getProfileName)(options)}. Profiles visited: ` +
Object.keys(visitedProfiles).join(", "), false);
}
const sourceCredsProvider = source_profile
? (0, resolveProfileData_1.resolveProfileData)(source_profile, profiles, options, {
...visitedProfiles,
[source_profile]: true,
})
: (0, resolveCredentialSource_1.resolveCredentialSource)(data.credential_source, profileName)();
const params = {
RoleArn: data.role_arn,
RoleSessionName: data.role_session_name || `aws-sdk-js-${Date.now()}`,
ExternalId: data.external_id,
DurationSeconds: parseInt(data.duration_seconds || "3600", 10),
};
const { mfa_serial } = data;
if (mfa_serial) {
if (!options.mfaCodeProvider) {
throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, false);
}
params.SerialNumber = mfa_serial;
params.TokenCode = await options.mfaCodeProvider(mfa_serial);
}
const sourceCreds = await sourceCredsProvider;
return options.roleAssumer(sourceCreds, params);
};
exports.resolveAssumeRoleCredentials = resolveAssumeRoleCredentials;
module.exports = require("./index.js");

@@ -1,21 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveCredentialSource = void 0;
const credential_provider_env_1 = require("@aws-sdk/credential-provider-env");
const credential_provider_imds_1 = require("@smithy/credential-provider-imds");
const property_provider_1 = require("@smithy/property-provider");
const resolveCredentialSource = (credentialSource, profileName) => {
const sourceProvidersMap = {
EcsContainer: credential_provider_imds_1.fromContainerMetadata,
Ec2InstanceMetadata: credential_provider_imds_1.fromInstanceMetadata,
Environment: credential_provider_env_1.fromEnv,
};
if (credentialSource in sourceProvidersMap) {
return sourceProvidersMap[credentialSource]();
}
else {
throw new property_provider_1.CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, ` +
`expected EcsContainer or Ec2InstanceMetadata or Environment.`);
}
};
exports.resolveCredentialSource = resolveCredentialSource;
module.exports = require("./index.js");

@@ -1,11 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveProcessCredentials = exports.isProcessProfile = void 0;
const credential_provider_process_1 = require("@aws-sdk/credential-provider-process");
const isProcessProfile = (arg) => Boolean(arg) && typeof arg === "object" && typeof arg.credential_process === "string";
exports.isProcessProfile = isProcessProfile;
const resolveProcessCredentials = async (options, profile) => (0, credential_provider_process_1.fromProcess)({
...options,
profile,
})();
exports.resolveProcessCredentials = resolveProcessCredentials;
module.exports = require("./index.js");

@@ -1,32 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveProfileData = void 0;
const property_provider_1 = require("@smithy/property-provider");
const resolveAssumeRoleCredentials_1 = require("./resolveAssumeRoleCredentials");
const resolveProcessCredentials_1 = require("./resolveProcessCredentials");
const resolveSsoCredentials_1 = require("./resolveSsoCredentials");
const resolveStaticCredentials_1 = require("./resolveStaticCredentials");
const resolveWebIdentityCredentials_1 = require("./resolveWebIdentityCredentials");
const resolveProfileData = async (profileName, profiles, options, visitedProfiles = {}) => {
const data = profiles[profileName];
if (Object.keys(visitedProfiles).length > 0 && (0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) {
return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data);
}
if ((0, resolveAssumeRoleCredentials_1.isAssumeRoleProfile)(data)) {
return (0, resolveAssumeRoleCredentials_1.resolveAssumeRoleCredentials)(profileName, profiles, options, visitedProfiles);
}
if ((0, resolveStaticCredentials_1.isStaticCredsProfile)(data)) {
return (0, resolveStaticCredentials_1.resolveStaticCredentials)(data);
}
if ((0, resolveWebIdentityCredentials_1.isWebIdentityProfile)(data)) {
return (0, resolveWebIdentityCredentials_1.resolveWebIdentityCredentials)(data, options);
}
if ((0, resolveProcessCredentials_1.isProcessProfile)(data)) {
return (0, resolveProcessCredentials_1.resolveProcessCredentials)(options, profileName);
}
if ((0, resolveSsoCredentials_1.isSsoProfile)(data)) {
return (0, resolveSsoCredentials_1.resolveSsoCredentials)(data);
}
throw new property_provider_1.CredentialsProviderError(`Profile ${profileName} could not be found or parsed in shared credentials file.`);
};
exports.resolveProfileData = resolveProfileData;
module.exports = require("./index.js");

@@ -1,17 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveSsoCredentials = exports.isSsoProfile = void 0;
const credential_provider_sso_1 = require("@aws-sdk/credential-provider-sso");
var credential_provider_sso_2 = require("@aws-sdk/credential-provider-sso");
Object.defineProperty(exports, "isSsoProfile", { enumerable: true, get: function () { return credential_provider_sso_2.isSsoProfile; } });
const resolveSsoCredentials = (data) => {
const { sso_start_url, sso_account_id, sso_session, sso_region, sso_role_name } = (0, credential_provider_sso_1.validateSsoProfile)(data);
return (0, credential_provider_sso_1.fromSSO)({
ssoStartUrl: sso_start_url,
ssoAccountId: sso_account_id,
ssoSession: sso_session,
ssoRegion: sso_region,
ssoRoleName: sso_role_name,
})();
};
exports.resolveSsoCredentials = resolveSsoCredentials;
module.exports = require("./index.js");

@@ -1,16 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveStaticCredentials = exports.isStaticCredsProfile = void 0;
const isStaticCredsProfile = (arg) => Boolean(arg) &&
typeof arg === "object" &&
typeof arg.aws_access_key_id === "string" &&
typeof arg.aws_secret_access_key === "string" &&
["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1;
exports.isStaticCredsProfile = isStaticCredsProfile;
const resolveStaticCredentials = (profile) => Promise.resolve({
accessKeyId: profile.aws_access_key_id,
secretAccessKey: profile.aws_secret_access_key,
sessionToken: profile.aws_session_token,
credentialScope: profile.aws_credential_scope,
});
exports.resolveStaticCredentials = resolveStaticCredentials;
module.exports = require("./index.js");

@@ -1,17 +0,1 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveWebIdentityCredentials = exports.isWebIdentityProfile = void 0;
const credential_provider_web_identity_1 = require("@aws-sdk/credential-provider-web-identity");
const isWebIdentityProfile = (arg) => Boolean(arg) &&
typeof arg === "object" &&
typeof arg.web_identity_token_file === "string" &&
typeof arg.role_arn === "string" &&
["undefined", "string"].indexOf(typeof arg.role_session_name) > -1;
exports.isWebIdentityProfile = isWebIdentityProfile;
const resolveWebIdentityCredentials = async (profile, options) => (0, credential_provider_web_identity_1.fromTokenFile)({
webIdentityTokenFile: profile.web_identity_token_file,
roleArn: profile.role_arn,
roleSessionName: profile.role_session_name,
roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,
})();
exports.resolveWebIdentityCredentials = resolveWebIdentityCredentials;
module.exports = require("./index.js");
{
"name": "@aws-sdk/credential-provider-ini",
"version": "3.490.0",
"version": "3.495.0",
"description": "AWS credential provider that sources credentials from ~/.aws/credentials and ~/.aws/config",

@@ -9,3 +9,3 @@ "main": "./dist-cjs/index.js",

"build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
"build:cjs": "tsc -p tsconfig.cjs.json",
"build:cjs": "node ../../scripts/compilation/inline credential-provider-ini",
"build:es": "tsc -p tsconfig.es.json",

@@ -28,11 +28,11 @@ "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build",

"dependencies": {
"@aws-sdk/credential-provider-env": "3.489.0",
"@aws-sdk/credential-provider-process": "3.489.0",
"@aws-sdk/credential-provider-sso": "3.490.0",
"@aws-sdk/credential-provider-web-identity": "3.489.0",
"@aws-sdk/types": "3.489.0",
"@smithy/credential-provider-imds": "^2.0.0",
"@smithy/property-provider": "^2.0.0",
"@smithy/shared-ini-file-loader": "^2.0.6",
"@smithy/types": "^2.8.0",
"@aws-sdk/credential-provider-env": "3.495.0",
"@aws-sdk/credential-provider-process": "3.495.0",
"@aws-sdk/credential-provider-sso": "3.495.0",
"@aws-sdk/credential-provider-web-identity": "3.495.0",
"@aws-sdk/types": "3.495.0",
"@smithy/credential-provider-imds": "^2.2.0",
"@smithy/property-provider": "^2.1.0",
"@smithy/shared-ini-file-loader": "^2.3.0",
"@smithy/types": "^2.9.0",
"tslib": "^2.5.0"

@@ -39,0 +39,0 @@ },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc