@aws-sdk/middleware-signing 3.178.0 → 3.183.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.183.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.182.0...v3.183.0) (2022-10-03)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/middleware-signing
9
+
10
+
11
+
12
+
13
+
14
+ # [3.179.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.178.0...v3.179.0) (2022-09-26)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **middleware-signing:** add missing dependency ([#3987](https://github.com/aws/aws-sdk-js-v3/issues/3987)) ([7e7ae42](https://github.com/aws/aws-sdk-js-v3/commit/7e7ae42ccd4c9978a23236a66e497ef618e2be1a))
20
+
21
+
22
+
23
+
24
+
6
25
  # [3.178.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.177.0...v3.178.0) (2022-09-23)
7
26
 
8
27
 
@@ -1,78 +1,76 @@
1
- import { __assign, __awaiter, __generator, __read } from "tslib";
2
1
  import { memoize } from "@aws-sdk/property-provider";
3
2
  import { SignatureV4 } from "@aws-sdk/signature-v4";
4
3
  import { normalizeProvider } from "@aws-sdk/util-middleware";
5
- var CREDENTIAL_EXPIRE_WINDOW = 300000;
6
- export var resolveAwsAuthConfig = function (input) {
7
- var normalizedCreds = input.credentials
4
+ const CREDENTIAL_EXPIRE_WINDOW = 300000;
5
+ export const resolveAwsAuthConfig = (input) => {
6
+ const normalizedCreds = input.credentials
8
7
  ? normalizeCredentialProvider(input.credentials)
9
8
  : input.credentialDefaultProvider(input);
10
- var _a = input.signingEscapePath, signingEscapePath = _a === void 0 ? true : _a, _b = input.systemClockOffset, systemClockOffset = _b === void 0 ? input.systemClockOffset || 0 : _b, sha256 = input.sha256;
11
- var signer;
9
+ const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
10
+ let signer;
12
11
  if (input.signer) {
13
12
  signer = normalizeProvider(input.signer);
14
13
  }
15
14
  else if (input.regionInfoProvider) {
16
- signer = function () {
17
- return normalizeProvider(input.region)()
18
- .then(function (region) { return __awaiter(void 0, void 0, void 0, function () {
19
- var _a, _b, _c;
20
- var _d;
21
- return __generator(this, function (_e) {
22
- switch (_e.label) {
23
- case 0:
24
- _b = (_a = input).regionInfoProvider;
25
- _c = [region];
26
- _d = {};
27
- return [4, input.useFipsEndpoint()];
28
- case 1:
29
- _d.useFipsEndpoint = _e.sent();
30
- return [4, input.useDualstackEndpoint()];
31
- case 2: return [4, _b.apply(_a, _c.concat([(_d.useDualstackEndpoint = _e.sent(),
32
- _d)]))];
33
- case 3: return [2, [
34
- (_e.sent()) || {},
35
- region
36
- ]];
37
- }
38
- });
39
- }); })
40
- .then(function (_a) {
41
- var _b = __read(_a, 2), regionInfo = _b[0], region = _b[1];
42
- var signingRegion = regionInfo.signingRegion, signingService = regionInfo.signingService;
43
- input.signingRegion = input.signingRegion || signingRegion || region;
44
- input.signingName = input.signingName || signingService || input.serviceId;
45
- var params = __assign(__assign({}, input), { credentials: normalizedCreds, region: input.signingRegion, service: input.signingName, sha256: sha256, uriEscapePath: signingEscapePath });
46
- var SignerCtor = input.signerConstructor || SignatureV4;
47
- return new SignerCtor(params);
48
- });
49
- };
15
+ signer = () => normalizeProvider(input.region)()
16
+ .then(async (region) => [
17
+ (await input.regionInfoProvider(region, {
18
+ useFipsEndpoint: await input.useFipsEndpoint(),
19
+ useDualstackEndpoint: await input.useDualstackEndpoint(),
20
+ })) || {},
21
+ region,
22
+ ])
23
+ .then(([regionInfo, region]) => {
24
+ const { signingRegion, signingService } = regionInfo;
25
+ input.signingRegion = input.signingRegion || signingRegion || region;
26
+ input.signingName = input.signingName || signingService || input.serviceId;
27
+ const params = {
28
+ ...input,
29
+ credentials: normalizedCreds,
30
+ region: input.signingRegion,
31
+ service: input.signingName,
32
+ sha256,
33
+ uriEscapePath: signingEscapePath,
34
+ };
35
+ const SignerCtor = input.signerConstructor || SignatureV4;
36
+ return new SignerCtor(params);
37
+ });
50
38
  }
51
39
  else {
52
- signer = function (authScheme) { return __awaiter(void 0, void 0, void 0, function () {
53
- var signingRegion, signingService, params, SignerCtor;
54
- return __generator(this, function (_a) {
55
- if (!authScheme) {
56
- throw new Error("Unexpected empty auth scheme config");
57
- }
58
- signingRegion = authScheme.signingScope;
59
- signingService = authScheme.signingName;
60
- input.signingRegion = input.signingRegion || signingRegion;
61
- input.signingName = input.signingName || signingService || input.serviceId;
62
- params = __assign(__assign({}, input), { credentials: normalizedCreds, region: input.signingRegion, service: input.signingName, sha256: sha256, uriEscapePath: signingEscapePath });
63
- SignerCtor = input.signerConstructor || SignatureV4;
64
- return [2, new SignerCtor(params)];
65
- });
66
- }); };
40
+ signer = async (authScheme) => {
41
+ if (!authScheme) {
42
+ throw new Error("Unexpected empty auth scheme config");
43
+ }
44
+ const signingRegion = authScheme.signingScope;
45
+ const signingService = authScheme.signingName;
46
+ input.signingRegion = input.signingRegion || signingRegion;
47
+ input.signingName = input.signingName || signingService || input.serviceId;
48
+ const params = {
49
+ ...input,
50
+ credentials: normalizedCreds,
51
+ region: input.signingRegion,
52
+ service: input.signingName,
53
+ sha256,
54
+ uriEscapePath: signingEscapePath,
55
+ };
56
+ const SignerCtor = input.signerConstructor || SignatureV4;
57
+ return new SignerCtor(params);
58
+ };
67
59
  }
68
- return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });
60
+ return {
61
+ ...input,
62
+ systemClockOffset,
63
+ signingEscapePath,
64
+ credentials: normalizedCreds,
65
+ signer,
66
+ };
69
67
  };
70
- export var resolveSigV4AuthConfig = function (input) {
71
- var normalizedCreds = input.credentials
68
+ export const resolveSigV4AuthConfig = (input) => {
69
+ const normalizedCreds = input.credentials
72
70
  ? normalizeCredentialProvider(input.credentials)
73
71
  : input.credentialDefaultProvider(input);
74
- var _a = input.signingEscapePath, signingEscapePath = _a === void 0 ? true : _a, _b = input.systemClockOffset, systemClockOffset = _b === void 0 ? input.systemClockOffset || 0 : _b, sha256 = input.sha256;
75
- var signer;
72
+ const { signingEscapePath = true, systemClockOffset = input.systemClockOffset || 0, sha256 } = input;
73
+ let signer;
76
74
  if (input.signer) {
77
75
  signer = normalizeProvider(input.signer);
78
76
  }
@@ -81,18 +79,22 @@ export var resolveSigV4AuthConfig = function (input) {
81
79
  credentials: normalizedCreds,
82
80
  region: input.region,
83
81
  service: input.signingName,
84
- sha256: sha256,
82
+ sha256,
85
83
  uriEscapePath: signingEscapePath,
86
84
  }));
87
85
  }
88
- return __assign(__assign({}, input), { systemClockOffset: systemClockOffset, signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });
86
+ return {
87
+ ...input,
88
+ systemClockOffset,
89
+ signingEscapePath,
90
+ credentials: normalizedCreds,
91
+ signer,
92
+ };
89
93
  };
90
- var normalizeCredentialProvider = function (credentials) {
94
+ const normalizeCredentialProvider = (credentials) => {
91
95
  if (typeof credentials === "function") {
92
- return memoize(credentials, function (credentials) {
93
- return credentials.expiration !== undefined &&
94
- credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW;
95
- }, function (credentials) { return credentials.expiration !== undefined; });
96
+ return memoize(credentials, (credentials) => credentials.expiration !== undefined &&
97
+ credentials.expiration.getTime() - Date.now() < CREDENTIAL_EXPIRE_WINDOW, (credentials) => credentials.expiration !== undefined);
96
98
  }
97
99
  return normalizeProvider(credentials);
98
100
  };
@@ -1,63 +1,42 @@
1
- import { __assign, __awaiter, __generator } from "tslib";
2
1
  import { HttpRequest, HttpResponse } from "@aws-sdk/protocol-http";
3
2
  import { getSkewCorrectedDate } from "./utils/getSkewCorrectedDate";
4
3
  import { getUpdatedSystemClockOffset } from "./utils/getUpdatedSystemClockOffset";
5
- export var awsAuthMiddleware = function (options) {
6
- return function (next, context) {
7
- return function (args) {
8
- var _a, _b, _c;
9
- return __awaiter(this, void 0, void 0, function () {
10
- var authScheme, signer, output, _d, _e, dateHeader;
11
- var _f;
12
- return __generator(this, function (_g) {
13
- switch (_g.label) {
14
- case 0:
15
- if (!HttpRequest.isInstance(args.request))
16
- return [2, next(args)];
17
- 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];
18
- return [4, options.signer(authScheme)];
19
- case 1:
20
- signer = _g.sent();
21
- _d = next;
22
- _e = [__assign({}, args)];
23
- _f = {};
24
- return [4, signer.sign(args.request, {
25
- signingDate: getSkewCorrectedDate(options.systemClockOffset),
26
- signingRegion: context["signing_region"],
27
- signingService: context["signing_service"],
28
- })];
29
- case 2: return [4, _d.apply(void 0, [__assign.apply(void 0, _e.concat([(_f.request = _g.sent(), _f)]))]).catch(function (error) {
30
- var _a;
31
- var serverTime = (_a = error.ServerTime) !== null && _a !== void 0 ? _a : getDateHeader(error.$response);
32
- if (serverTime) {
33
- options.systemClockOffset = getUpdatedSystemClockOffset(serverTime, options.systemClockOffset);
34
- }
35
- throw error;
36
- })];
37
- case 3:
38
- output = _g.sent();
39
- dateHeader = getDateHeader(output.response);
40
- if (dateHeader) {
41
- options.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, options.systemClockOffset);
42
- }
43
- return [2, output];
44
- }
45
- });
46
- });
47
- };
48
- };
4
+ export const awsAuthMiddleware = (options) => (next, context) => async function (args) {
5
+ if (!HttpRequest.isInstance(args.request))
6
+ return next(args);
7
+ const authScheme = (context.endpointV2)?.properties?.authSchemes?.[0];
8
+ const signer = await options.signer(authScheme);
9
+ const output = await next({
10
+ ...args,
11
+ request: await signer.sign(args.request, {
12
+ signingDate: getSkewCorrectedDate(options.systemClockOffset),
13
+ signingRegion: context["signing_region"],
14
+ signingService: context["signing_service"],
15
+ }),
16
+ }).catch((error) => {
17
+ const serverTime = error.ServerTime ?? getDateHeader(error.$response);
18
+ if (serverTime) {
19
+ options.systemClockOffset = getUpdatedSystemClockOffset(serverTime, options.systemClockOffset);
20
+ }
21
+ throw error;
22
+ });
23
+ const dateHeader = getDateHeader(output.response);
24
+ if (dateHeader) {
25
+ options.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, options.systemClockOffset);
26
+ }
27
+ return output;
49
28
  };
50
- var getDateHeader = function (response) { var _a, _b, _c; return 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; };
51
- export var awsAuthMiddlewareOptions = {
29
+ const getDateHeader = (response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;
30
+ export const awsAuthMiddlewareOptions = {
52
31
  name: "awsAuthMiddleware",
53
32
  tags: ["SIGNATURE", "AWSAUTH"],
54
33
  relation: "after",
55
34
  toMiddleware: "retryMiddleware",
56
35
  override: true,
57
36
  };
58
- export var getAwsAuthPlugin = function (options) { return ({
59
- applyToStack: function (clientStack) {
37
+ export const getAwsAuthPlugin = (options) => ({
38
+ applyToStack: (clientStack) => {
60
39
  clientStack.addRelativeTo(awsAuthMiddleware(options), awsAuthMiddlewareOptions);
61
40
  },
62
- }); };
63
- export var getSigV4AuthPlugin = getAwsAuthPlugin;
41
+ });
42
+ export const getSigV4AuthPlugin = getAwsAuthPlugin;
@@ -1 +1 @@
1
- export var getSkewCorrectedDate = function (systemClockOffset) { return new Date(Date.now() + systemClockOffset); };
1
+ export const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);
@@ -1,6 +1,6 @@
1
1
  import { isClockSkewed } from "./isClockSkewed";
2
- export var getUpdatedSystemClockOffset = function (clockTime, currentSystemClockOffset) {
3
- var clockTimeInMs = Date.parse(clockTime);
2
+ export const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {
3
+ const clockTimeInMs = Date.parse(clockTime);
4
4
  if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {
5
5
  return clockTimeInMs - Date.now();
6
6
  }
@@ -1,4 +1,2 @@
1
1
  import { getSkewCorrectedDate } from "./getSkewCorrectedDate";
2
- export var isClockSkewed = function (clockTime, systemClockOffset) {
3
- return Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;
4
- };
2
+ export const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-signing",
3
- "version": "3.178.0",
3
+ "version": "3.183.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -20,10 +20,11 @@
20
20
  },
21
21
  "license": "Apache-2.0",
22
22
  "dependencies": {
23
- "@aws-sdk/property-provider": "3.178.0",
24
- "@aws-sdk/protocol-http": "3.178.0",
25
- "@aws-sdk/signature-v4": "3.178.0",
26
- "@aws-sdk/types": "3.178.0",
23
+ "@aws-sdk/property-provider": "3.183.0",
24
+ "@aws-sdk/protocol-http": "3.183.0",
25
+ "@aws-sdk/signature-v4": "3.183.0",
26
+ "@aws-sdk/types": "3.183.0",
27
+ "@aws-sdk/util-middleware": "3.183.0",
27
28
  "tslib": "^2.3.1"
28
29
  },
29
30
  "engines": {