@aws-sdk/middleware-signing
Advanced tools
Comparing version 3.533.0 to 3.534.0
@@ -83,5 +83,12 @@ var __defProp = Object.defineProperty; | ||
); | ||
const isSigv4a = (authScheme == null ? void 0 : authScheme.name) === "sigv4a"; | ||
const signingRegion = authScheme.signingRegion; | ||
const signingService = authScheme.signingName; | ||
input.signingRegion = input.signingRegion || signingRegion; | ||
let regionForSigner; | ||
if (isSigv4a) { | ||
regionForSigner = input.signingRegion || signingRegion; | ||
} else { | ||
input.signingRegion = input.signingRegion || signingRegion; | ||
regionForSigner = input.signingRegion; | ||
} | ||
input.signingName = input.signingName || signingService || input.serviceId; | ||
@@ -91,3 +98,3 @@ const params = { | ||
credentials: normalizedCreds, | ||
region: input.signingRegion, | ||
region: regionForSigner, | ||
service: input.signingName, | ||
@@ -169,9 +176,35 @@ sha256, | ||
var awsAuthMiddleware = /* @__PURE__ */ __name((options) => (next, context) => async function(args) { | ||
var _a, _b, _c, _d; | ||
var _a, _b, _c, _d, _e, _f, _g; | ||
if (!import_protocol_http.HttpRequest.isInstance(args.request)) | ||
return next(args); | ||
const authScheme = (_c = (_b = (_a = context.endpointV2) == null ? void 0 : _a.properties) == null ? void 0 : _b.authSchemes) == null ? void 0 : _c[0]; | ||
const multiRegionOverride = (authScheme == null ? void 0 : authScheme.name) === "sigv4a" ? (_d = authScheme == null ? void 0 : authScheme.signingRegionSet) == null ? void 0 : _d.join(",") : void 0; | ||
const signer = await options.signer(authScheme); | ||
let authScheme; | ||
let signer; | ||
const firstAuthScheme = (_c = (_b = (_a = context.endpointV2) == null ? void 0 : _a.properties) == null ? void 0 : _b.authSchemes) == null ? void 0 : _c[0]; | ||
const secondAuthScheme = (_f = (_e = (_d = context.endpointV2) == null ? void 0 : _d.properties) == null ? void 0 : _e.authSchemes) == null ? void 0 : _f[1]; | ||
const firstAuthSchemeIsSigv4a = (firstAuthScheme == null ? void 0 : firstAuthScheme.name) === "sigv4a"; | ||
if (firstAuthSchemeIsSigv4a && secondAuthScheme) { | ||
signer = await options.signer(authScheme = firstAuthScheme); | ||
const uncheckedSigner = signer; | ||
const sigv4aAvailable = (() => { | ||
var _a2; | ||
if (typeof (uncheckedSigner == null ? void 0 : uncheckedSigner.getSigv4aSigner) === "function") { | ||
if (((_a2 = uncheckedSigner == null ? void 0 : uncheckedSigner.signerOptions) == null ? void 0 : _a2.runtime) !== "node") { | ||
return false; | ||
} | ||
try { | ||
uncheckedSigner.getSigv4aSigner(); | ||
return true; | ||
} catch (e) { | ||
} | ||
} | ||
return false; | ||
})(); | ||
if (!sigv4aAvailable) { | ||
signer = await options.signer(authScheme = secondAuthScheme); | ||
} | ||
} else { | ||
signer = await options.signer(authScheme = firstAuthScheme); | ||
} | ||
let signedRequest; | ||
const multiRegionOverride = (authScheme == null ? void 0 : authScheme.name) === "sigv4a" ? (_g = authScheme == null ? void 0 : authScheme.signingRegionSet) == null ? void 0 : _g.join(",") : void 0; | ||
const signingOptions = { | ||
@@ -178,0 +211,0 @@ signingDate: getSkewCorrectedDate(options.systemClockOffset), |
@@ -49,5 +49,13 @@ import { memoize } from "@smithy/property-provider"; | ||
}, authScheme); | ||
const isSigv4a = authScheme?.name === "sigv4a"; | ||
const signingRegion = authScheme.signingRegion; | ||
const signingService = authScheme.signingName; | ||
input.signingRegion = input.signingRegion || signingRegion; | ||
let regionForSigner; | ||
if (isSigv4a) { | ||
regionForSigner = input.signingRegion || signingRegion; | ||
} | ||
else { | ||
input.signingRegion = input.signingRegion || signingRegion; | ||
regionForSigner = input.signingRegion; | ||
} | ||
input.signingName = input.signingName || signingService || input.serviceId; | ||
@@ -57,3 +65,3 @@ const params = { | ||
credentials: normalizedCreds, | ||
region: input.signingRegion, | ||
region: regionForSigner, | ||
service: input.signingName, | ||
@@ -60,0 +68,0 @@ sha256, |
@@ -7,6 +7,32 @@ import { HttpRequest, HttpResponse } from "@smithy/protocol-http"; | ||
return next(args); | ||
const authScheme = context.endpointV2?.properties?.authSchemes?.[0]; | ||
let authScheme; | ||
let signer; | ||
const firstAuthScheme = context.endpointV2?.properties?.authSchemes?.[0]; | ||
const secondAuthScheme = context.endpointV2?.properties?.authSchemes?.[1]; | ||
const firstAuthSchemeIsSigv4a = firstAuthScheme?.name === "sigv4a"; | ||
if (firstAuthSchemeIsSigv4a && secondAuthScheme) { | ||
signer = await options.signer((authScheme = firstAuthScheme)); | ||
const uncheckedSigner = signer; | ||
const sigv4aAvailable = (() => { | ||
if (typeof uncheckedSigner?.getSigv4aSigner === "function") { | ||
if (uncheckedSigner?.signerOptions?.runtime !== "node") { | ||
return false; | ||
} | ||
try { | ||
uncheckedSigner.getSigv4aSigner(); | ||
return true; | ||
} | ||
catch (e) { } | ||
} | ||
return false; | ||
})(); | ||
if (!sigv4aAvailable) { | ||
signer = await options.signer((authScheme = secondAuthScheme)); | ||
} | ||
} | ||
else { | ||
signer = await options.signer((authScheme = firstAuthScheme)); | ||
} | ||
let signedRequest; | ||
const multiRegionOverride = authScheme?.name === "sigv4a" ? authScheme?.signingRegionSet?.join(",") : undefined; | ||
const signer = await options.signer(authScheme); | ||
let signedRequest; | ||
const signingOptions = { | ||
@@ -13,0 +39,0 @@ signingDate: getSkewCorrectedDate(options.systemClockOffset), |
{ | ||
"name": "@aws-sdk/middleware-signing", | ||
"version": "3.533.0", | ||
"version": "3.534.0", | ||
"scripts": { | ||
@@ -5,0 +5,0 @@ "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", |
41498
694