@aws-sdk/middleware-signing 3.489.0 → 3.496.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,108 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveSigV4AuthConfig = exports.resolveAwsAuthConfig = void 0;
4
- const property_provider_1 = require("@smithy/property-provider");
5
- const signature_v4_1 = require("@smithy/signature-v4");
6
- const util_middleware_1 = require("@smithy/util-middleware");
7
- const CREDENTIAL_EXPIRE_WINDOW = 300000;
8
- const resolveAwsAuthConfig = (input) => {
9
- const normalizedCreds = input.credentials
10
- ? normalizeCredentialProvider(input.credentials)
11
- : input.credentialDefaultProvider(input);
12
- const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
13
- let signer;
14
- if (input.signer) {
15
- signer = (0, util_middleware_1.normalizeProvider)(input.signer);
16
- }
17
- else if (input.regionInfoProvider) {
18
- signer = () => (0, util_middleware_1.normalizeProvider)(input.region)()
19
- .then(async (region) => [
20
- (await input.regionInfoProvider(region, {
21
- useFipsEndpoint: await input.useFipsEndpoint(),
22
- useDualstackEndpoint: await input.useDualstackEndpoint(),
23
- })) || {},
24
- region,
25
- ])
26
- .then(([regionInfo, region]) => {
27
- const { signingRegion, signingService } = regionInfo;
28
- input.signingRegion = input.signingRegion || signingRegion || region;
29
- input.signingName = input.signingName || signingService || input.serviceId;
30
- const params = {
31
- ...input,
32
- credentials: normalizedCreds,
33
- region: input.signingRegion,
34
- service: input.signingName,
35
- sha256,
36
- uriEscapePath: signingEscapePath,
37
- };
38
- const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4;
39
- return new SignerCtor(params);
40
- });
41
- }
42
- else {
43
- signer = async (authScheme) => {
44
- authScheme = Object.assign({}, {
45
- name: "sigv4",
46
- signingName: input.signingName || input.defaultSigningName,
47
- signingRegion: await (0, util_middleware_1.normalizeProvider)(input.region)(),
48
- properties: {},
49
- }, authScheme);
50
- const signingRegion = authScheme.signingRegion;
51
- const signingService = authScheme.signingName;
52
- input.signingRegion = input.signingRegion || signingRegion;
53
- input.signingName = input.signingName || signingService || input.serviceId;
54
- const params = {
55
- ...input,
56
- credentials: normalizedCreds,
57
- region: input.signingRegion,
58
- service: input.signingName,
59
- sha256,
60
- uriEscapePath: signingEscapePath,
61
- };
62
- const SignerCtor = input.signerConstructor || signature_v4_1.SignatureV4;
63
- return new SignerCtor(params);
64
- };
65
- }
66
- return {
67
- ...input,
68
- systemClockOffset,
69
- signingEscapePath,
70
- credentials: normalizedCreds,
71
- signer,
72
- };
73
- };
74
- exports.resolveAwsAuthConfig = resolveAwsAuthConfig;
75
- const resolveSigV4AuthConfig = (input) => {
76
- const normalizedCreds = input.credentials
77
- ? normalizeCredentialProvider(input.credentials)
78
- : input.credentialDefaultProvider(input);
79
- const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
80
- let signer;
81
- if (input.signer) {
82
- signer = (0, util_middleware_1.normalizeProvider)(input.signer);
83
- }
84
- else {
85
- signer = (0, util_middleware_1.normalizeProvider)(new signature_v4_1.SignatureV4({
86
- credentials: normalizedCreds,
87
- region: input.region,
88
- service: input.signingName,
89
- sha256,
90
- uriEscapePath: signingEscapePath,
91
- }));
92
- }
93
- return {
94
- ...input,
95
- systemClockOffset,
96
- signingEscapePath,
97
- credentials: normalizedCreds,
98
- signer,
99
- };
100
- };
101
- exports.resolveSigV4AuthConfig = resolveSigV4AuthConfig;
102
- const normalizeCredentialProvider = (credentials) => {
103
- if (typeof credentials === "function") {
104
- return (0, property_provider_1.memoize)(credentials, (credentials) => credentials.expiration !== undefined &&
105
- credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials) => credentials.expiration !== undefined);
106
- }
107
- return (0, util_middleware_1.normalizeProvider)(credentials);
108
- };
1
+ module.exports = require("./index.js");
@@ -1,62 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin = exports.awsAuthMiddlewareOptions = exports.awsAuthMiddleware = void 0;
4
- const protocol_http_1 = require("@smithy/protocol-http");
5
- const getSkewCorrectedDate_1 = require("./utils/getSkewCorrectedDate");
6
- const getUpdatedSystemClockOffset_1 = require("./utils/getUpdatedSystemClockOffset");
7
- const awsAuthMiddleware = (options) => (next, context) => async function (args) {
8
- var _a, _b, _c, _d;
9
- if (!protocol_http_1.HttpRequest.isInstance(args.request))
10
- return next(args);
11
- const authScheme = (_c = (_b = (_a = context.endpointV2) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.authSchemes) === null || _c === void 0 ? void 0 : _c[0];
12
- const multiRegionOverride = (authScheme === null || authScheme === void 0 ? void 0 : authScheme.name) === "sigv4a" ? (_d = authScheme === null || authScheme === void 0 ? void 0 : authScheme.signingRegionSet) === null || _d === void 0 ? void 0 : _d.join(",") : undefined;
13
- const signer = await options.signer(authScheme);
14
- let signedRequest;
15
- const signingOptions = {
16
- signingDate: (0, getSkewCorrectedDate_1.getSkewCorrectedDate)(options.systemClockOffset),
17
- signingRegion: multiRegionOverride || context["signing_region"],
18
- signingService: context["signing_service"],
19
- };
20
- if (context.s3ExpressIdentity) {
21
- const sigV4MultiRegion = signer;
22
- signedRequest = await sigV4MultiRegion.signWithCredentials(args.request, context.s3ExpressIdentity, signingOptions);
23
- if (signedRequest.headers["X-Amz-Security-Token"] || signedRequest.headers["x-amz-security-token"]) {
24
- throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");
25
- }
26
- }
27
- else {
28
- signedRequest = await signer.sign(args.request, signingOptions);
29
- }
30
- const output = await next({
31
- ...args,
32
- request: signedRequest,
33
- }).catch((error) => {
34
- var _a;
35
- const serverTime = (_a = error.ServerTime) !== null && _a !== void 0 ? _a : getDateHeader(error.$response);
36
- if (serverTime) {
37
- options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(serverTime, options.systemClockOffset);
38
- }
39
- throw error;
40
- });
41
- const dateHeader = getDateHeader(output.response);
42
- if (dateHeader) {
43
- options.systemClockOffset = (0, getUpdatedSystemClockOffset_1.getUpdatedSystemClockOffset)(dateHeader, options.systemClockOffset);
44
- }
45
- return output;
46
- };
47
- exports.awsAuthMiddleware = awsAuthMiddleware;
48
- const getDateHeader = (response) => { var _a, _b, _c; return protocol_http_1.HttpResponse.isInstance(response) ? (_b = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.date) !== null && _b !== void 0 ? _b : (_c = response.headers) === null || _c === void 0 ? void 0 : _c.Date : undefined; };
49
- exports.awsAuthMiddlewareOptions = {
50
- name: "awsAuthMiddleware",
51
- tags: ["SIGNATURE", "AWSAUTH"],
52
- relation: "after",
53
- toMiddleware: "retryMiddleware",
54
- override: true,
55
- };
56
- const getAwsAuthPlugin = (options) => ({
57
- applyToStack: (clientStack) => {
58
- clientStack.addRelativeTo((0, exports.awsAuthMiddleware)(options), exports.awsAuthMiddlewareOptions);
59
- },
60
- });
61
- exports.getAwsAuthPlugin = getAwsAuthPlugin;
62
- exports.getSigV4AuthPlugin = exports.getAwsAuthPlugin;
1
+ module.exports = require("./index.js");
package/dist-cjs/index.js CHANGED
@@ -1,5 +1,227 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./awsAuthConfiguration"), exports);
5
- tslib_1.__exportStar(require("./awsAuthMiddleware"), exports);
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ awsAuthMiddleware: () => awsAuthMiddleware,
24
+ awsAuthMiddlewareOptions: () => awsAuthMiddlewareOptions,
25
+ getAwsAuthPlugin: () => getAwsAuthPlugin,
26
+ getSigV4AuthPlugin: () => getSigV4AuthPlugin,
27
+ resolveAwsAuthConfig: () => resolveAwsAuthConfig,
28
+ resolveSigV4AuthConfig: () => resolveSigV4AuthConfig
29
+ });
30
+ module.exports = __toCommonJS(src_exports);
31
+
32
+ // src/awsAuthConfiguration.ts
33
+ var import_property_provider = require("@smithy/property-provider");
34
+ var import_signature_v4 = require("@smithy/signature-v4");
35
+ var import_util_middleware = require("@smithy/util-middleware");
36
+ var CREDENTIAL_EXPIRE_WINDOW = 3e5;
37
+ var resolveAwsAuthConfig = /* @__PURE__ */ __name((input) => {
38
+ const normalizedCreds = input.credentials ? normalizeCredentialProvider(input.credentials) : input.credentialDefaultProvider(input);
39
+ const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
40
+ let signer;
41
+ if (input.signer) {
42
+ signer = (0, import_util_middleware.normalizeProvider)(input.signer);
43
+ } else if (input.regionInfoProvider) {
44
+ signer = /* @__PURE__ */ __name(() => (0, import_util_middleware.normalizeProvider)(input.region)().then(
45
+ async (region) => [
46
+ await input.regionInfoProvider(region, {
47
+ useFipsEndpoint: await input.useFipsEndpoint(),
48
+ useDualstackEndpoint: await input.useDualstackEndpoint()
49
+ }) || {},
50
+ region
51
+ ]
52
+ ).then(([regionInfo, region]) => {
53
+ const { signingRegion, signingService } = regionInfo;
54
+ input.signingRegion = input.signingRegion || signingRegion || region;
55
+ input.signingName = input.signingName || signingService || input.serviceId;
56
+ const params = {
57
+ ...input,
58
+ credentials: normalizedCreds,
59
+ region: input.signingRegion,
60
+ service: input.signingName,
61
+ sha256,
62
+ uriEscapePath: signingEscapePath
63
+ };
64
+ const SignerCtor = input.signerConstructor || import_signature_v4.SignatureV4;
65
+ return new SignerCtor(params);
66
+ }), "signer");
67
+ } else {
68
+ signer = /* @__PURE__ */ __name(async (authScheme) => {
69
+ authScheme = Object.assign(
70
+ {},
71
+ {
72
+ name: "sigv4",
73
+ signingName: input.signingName || input.defaultSigningName,
74
+ signingRegion: await (0, import_util_middleware.normalizeProvider)(input.region)(),
75
+ properties: {}
76
+ },
77
+ authScheme
78
+ );
79
+ const signingRegion = authScheme.signingRegion;
80
+ const signingService = authScheme.signingName;
81
+ input.signingRegion = input.signingRegion || signingRegion;
82
+ input.signingName = input.signingName || signingService || input.serviceId;
83
+ const params = {
84
+ ...input,
85
+ credentials: normalizedCreds,
86
+ region: input.signingRegion,
87
+ service: input.signingName,
88
+ sha256,
89
+ uriEscapePath: signingEscapePath
90
+ };
91
+ const SignerCtor = input.signerConstructor || import_signature_v4.SignatureV4;
92
+ return new SignerCtor(params);
93
+ }, "signer");
94
+ }
95
+ return {
96
+ ...input,
97
+ systemClockOffset,
98
+ signingEscapePath,
99
+ credentials: normalizedCreds,
100
+ signer
101
+ };
102
+ }, "resolveAwsAuthConfig");
103
+ var resolveSigV4AuthConfig = /* @__PURE__ */ __name((input) => {
104
+ const normalizedCreds = input.credentials ? normalizeCredentialProvider(input.credentials) : input.credentialDefaultProvider(input);
105
+ const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
106
+ let signer;
107
+ if (input.signer) {
108
+ signer = (0, import_util_middleware.normalizeProvider)(input.signer);
109
+ } else {
110
+ signer = (0, import_util_middleware.normalizeProvider)(
111
+ new import_signature_v4.SignatureV4({
112
+ credentials: normalizedCreds,
113
+ region: input.region,
114
+ service: input.signingName,
115
+ sha256,
116
+ uriEscapePath: signingEscapePath
117
+ })
118
+ );
119
+ }
120
+ return {
121
+ ...input,
122
+ systemClockOffset,
123
+ signingEscapePath,
124
+ credentials: normalizedCreds,
125
+ signer
126
+ };
127
+ }, "resolveSigV4AuthConfig");
128
+ var normalizeCredentialProvider = /* @__PURE__ */ __name((credentials) => {
129
+ if (typeof credentials === "function") {
130
+ return (0, import_property_provider.memoize)(
131
+ credentials,
132
+ (credentials2) => credentials2.expiration !== void 0 && credentials2.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW,
133
+ (credentials2) => credentials2.expiration !== void 0
134
+ );
135
+ }
136
+ return (0, import_util_middleware.normalizeProvider)(credentials);
137
+ }, "normalizeCredentialProvider");
138
+
139
+ // src/awsAuthMiddleware.ts
140
+ var import_protocol_http = require("@smithy/protocol-http");
141
+
142
+ // src/utils/getSkewCorrectedDate.ts
143
+ var getSkewCorrectedDate = /* @__PURE__ */ __name((systemClockOffset) => new Date(Date.now() + systemClockOffset), "getSkewCorrectedDate");
144
+
145
+ // src/utils/isClockSkewed.ts
146
+ var isClockSkewed = /* @__PURE__ */ __name((clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 3e5, "isClockSkewed");
147
+
148
+ // src/utils/getUpdatedSystemClockOffset.ts
149
+ var getUpdatedSystemClockOffset = /* @__PURE__ */ __name((clockTime, currentSystemClockOffset) => {
150
+ const clockTimeInMs = Date.parse(clockTime);
151
+ if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {
152
+ return clockTimeInMs - Date.now();
153
+ }
154
+ return currentSystemClockOffset;
155
+ }, "getUpdatedSystemClockOffset");
156
+
157
+ // src/awsAuthMiddleware.ts
158
+ var awsAuthMiddleware = /* @__PURE__ */ __name((options) => (next, context) => async function(args) {
159
+ var _a, _b, _c, _d;
160
+ if (!import_protocol_http.HttpRequest.isInstance(args.request))
161
+ return next(args);
162
+ const authScheme = (_c = (_b = (_a = context.endpointV2) == null ? void 0 : _a.properties) == null ? void 0 : _b.authSchemes) == null ? void 0 : _c[0];
163
+ const multiRegionOverride = (authScheme == null ? void 0 : authScheme.name) === "sigv4a" ? (_d = authScheme == null ? void 0 : authScheme.signingRegionSet) == null ? void 0 : _d.join(",") : void 0;
164
+ const signer = await options.signer(authScheme);
165
+ let signedRequest;
166
+ const signingOptions = {
167
+ signingDate: getSkewCorrectedDate(options.systemClockOffset),
168
+ signingRegion: multiRegionOverride || context["signing_region"],
169
+ signingService: context["signing_service"]
170
+ };
171
+ if (context.s3ExpressIdentity) {
172
+ const sigV4MultiRegion = signer;
173
+ signedRequest = await sigV4MultiRegion.signWithCredentials(
174
+ args.request,
175
+ context.s3ExpressIdentity,
176
+ signingOptions
177
+ );
178
+ if (signedRequest.headers["X-Amz-Security-Token"] || signedRequest.headers["x-amz-security-token"]) {
179
+ throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");
180
+ }
181
+ } else {
182
+ signedRequest = await signer.sign(args.request, signingOptions);
183
+ }
184
+ const output = await next({
185
+ ...args,
186
+ request: signedRequest
187
+ }).catch((error) => {
188
+ const serverTime = error.ServerTime ?? getDateHeader(error.$response);
189
+ if (serverTime) {
190
+ options.systemClockOffset = getUpdatedSystemClockOffset(serverTime, options.systemClockOffset);
191
+ }
192
+ throw error;
193
+ });
194
+ const dateHeader = getDateHeader(output.response);
195
+ if (dateHeader) {
196
+ options.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, options.systemClockOffset);
197
+ }
198
+ return output;
199
+ }, "awsAuthMiddleware");
200
+ var getDateHeader = /* @__PURE__ */ __name((response) => {
201
+ var _a, _b;
202
+ return import_protocol_http.HttpResponse.isInstance(response) ? ((_a = response.headers) == null ? void 0 : _a.date) ?? ((_b = response.headers) == null ? void 0 : _b.Date) : void 0;
203
+ }, "getDateHeader");
204
+ var awsAuthMiddlewareOptions = {
205
+ name: "awsAuthMiddleware",
206
+ tags: ["SIGNATURE", "AWSAUTH"],
207
+ relation: "after",
208
+ toMiddleware: "retryMiddleware",
209
+ override: true
210
+ };
211
+ var getAwsAuthPlugin = /* @__PURE__ */ __name((options) => ({
212
+ applyToStack: (clientStack) => {
213
+ clientStack.addRelativeTo(awsAuthMiddleware(options), awsAuthMiddlewareOptions);
214
+ }
215
+ }), "getAwsAuthPlugin");
216
+ var getSigV4AuthPlugin = getAwsAuthPlugin;
217
+ // Annotate the CommonJS export names for ESM import in node:
218
+
219
+ 0 && (module.exports = {
220
+ awsAuthMiddleware,
221
+ awsAuthMiddlewareOptions,
222
+ getAwsAuthPlugin,
223
+ getSigV4AuthPlugin,
224
+ resolveAwsAuthConfig,
225
+ resolveSigV4AuthConfig
226
+ });
227
+
@@ -1,5 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSkewCorrectedDate = void 0;
4
- const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);
5
- exports.getSkewCorrectedDate = getSkewCorrectedDate;
1
+ module.exports = require("../index.js");
@@ -1,12 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUpdatedSystemClockOffset = void 0;
4
- const isClockSkewed_1 = require("./isClockSkewed");
5
- const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {
6
- const clockTimeInMs = Date.parse(clockTime);
7
- if ((0, isClockSkewed_1.isClockSkewed)(clockTimeInMs, currentSystemClockOffset)) {
8
- return clockTimeInMs - Date.now();
9
- }
10
- return currentSystemClockOffset;
11
- };
12
- exports.getUpdatedSystemClockOffset = getUpdatedSystemClockOffset;
1
+ module.exports = require("../index.js");
@@ -1,6 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isClockSkewed = void 0;
4
- const getSkewCorrectedDate_1 = require("./getSkewCorrectedDate");
5
- const isClockSkewed = (clockTime, systemClockOffset) => Math.abs((0, getSkewCorrectedDate_1.getSkewCorrectedDate)(systemClockOffset).getTime() - clockTime) >= 300000;
6
- exports.isClockSkewed = isClockSkewed;
1
+ module.exports = require("../index.js");
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-signing",
3
- "version": "3.489.0",
3
+ "version": "3.496.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
- "build:cjs": "tsc -p tsconfig.cjs.json",
6
+ "build:cjs": "node ../../scripts/compilation/inline middleware-signing",
7
7
  "build:es": "tsc -p tsconfig.es.json",
8
8
  "build:include:deps": "lerna run --scope $npm_package_name --include-dependencies build",
9
9
  "build:types": "tsc -p tsconfig.types.json",
@@ -22,12 +22,12 @@
22
22
  },
23
23
  "license": "Apache-2.0",
24
24
  "dependencies": {
25
- "@aws-sdk/types": "3.489.0",
26
- "@smithy/property-provider": "^2.0.0",
27
- "@smithy/protocol-http": "^3.0.12",
28
- "@smithy/signature-v4": "^2.0.0",
29
- "@smithy/types": "^2.8.0",
30
- "@smithy/util-middleware": "^2.0.9",
25
+ "@aws-sdk/types": "3.496.0",
26
+ "@smithy/property-provider": "^2.1.1",
27
+ "@smithy/protocol-http": "^3.1.1",
28
+ "@smithy/signature-v4": "^2.1.1",
29
+ "@smithy/types": "^2.9.1",
30
+ "@smithy/util-middleware": "^2.1.1",
31
31
  "tslib": "^2.5.0"
32
32
  },
33
33
  "engines": {