@aws-amplify/core
Version:
Core category of aws-amplify
1 lines • 2.87 kB
Source Map (JSON)
{"version":3,"file":"signRequest.mjs","sources":["../../../../../../../src/clients/middleware/signing/signer/signatureV4/signRequest.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getSignedHeaders } from './utils/getSignedHeaders';\nimport { getSigningValues } from './utils/getSigningValues';\nimport { AMZ_DATE_HEADER, AUTH_HEADER, HOST_HEADER, SHA256_ALGORITHM_IDENTIFIER, TOKEN_HEADER, } from './constants';\nimport { getSignature } from './utils/getSignature';\n/**\n * Given a `HttpRequest`, returns a Signature Version 4 signed `HttpRequest`.\n *\n * @param request `HttpRequest` to be signed.\n * @param signRequestOptions `SignRequestOptions` object containing values used to construct the signature.\n * @returns A `HttpRequest` with authentication headers which can grant temporary access to AWS resources.\n */\nexport const signRequest = (request, options) => {\n const signingValues = getSigningValues(options);\n const { accessKeyId, credentialScope, longDate, sessionToken } = signingValues;\n // create the request to sign\n const headers = { ...request.headers };\n headers[HOST_HEADER] = request.url.host;\n headers[AMZ_DATE_HEADER] = longDate;\n if (sessionToken) {\n headers[TOKEN_HEADER] = sessionToken;\n }\n const requestToSign = { ...request, headers };\n // calculate and add the signature to the request\n const signature = getSignature(requestToSign, signingValues);\n const credentialEntry = `Credential=${accessKeyId}/${credentialScope}`;\n const signedHeadersEntry = `SignedHeaders=${getSignedHeaders(headers)}`;\n const signatureEntry = `Signature=${signature}`;\n headers[AUTH_HEADER] =\n `${SHA256_ALGORITHM_IDENTIFIER} ${credentialEntry}, ${signedHeadersEntry}, ${signatureEntry}`;\n return requestToSign;\n};\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK;AACjD,IAAI,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;AACnD,IAAI,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,aAAa;AAClF;AACA,IAAI,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;AAC1C,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI;AAC3C,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,QAAQ;AACvC,IAAI,IAAI,YAAY,EAAE;AACtB,QAAQ,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY;AAC5C;AACA,IAAI,MAAM,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;AACjD;AACA,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC;AAChE,IAAI,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AAC1E,IAAI,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3E,IAAI,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACnD,IAAI,OAAO,CAAC,WAAW,CAAC;AACxB,QAAQ,CAAC,EAAE,2BAA2B,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,EAAE,kBAAkB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;AACrG,IAAI,OAAO,aAAa;AACxB;;;;"}