@aws-amplify/core 5.2.1-unstable.eca5078.2 → 5.3.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/lib/Platform/version.d.ts +1 -1
- package/lib/Platform/version.js +1 -1
- package/lib/Platform/version.js.map +1 -1
- package/lib/Signer.d.ts +1 -1
- package/lib/Signer.js +59 -256
- package/lib/Signer.js.map +1 -1
- package/lib/clients/middleware/signing/signer/signatureV4/constants.d.ts +17 -0
- package/lib/clients/middleware/signing/signer/signatureV4/constants.js +26 -0
- package/lib/clients/middleware/signing/signer/signatureV4/constants.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/index.d.ts +3 -0
- package/lib/clients/middleware/signing/signer/signatureV4/index.js +12 -0
- package/lib/clients/middleware/signing/signer/signatureV4/index.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/index.native.d.ts +4 -0
- package/lib/clients/middleware/signing/signer/signatureV4/index.native.js +13 -0
- package/lib/clients/middleware/signing/signer/signatureV4/index.native.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/presignUrl.d.ts +9 -0
- package/lib/clients/middleware/signing/signer/signatureV4/presignUrl.js +40 -0
- package/lib/clients/middleware/signing/signer/signatureV4/presignUrl.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/signRequest.d.ts +10 -0
- package/lib/clients/middleware/signing/signer/signatureV4/signRequest.js +36 -0
- package/lib/clients/middleware/signing/signer/signatureV4/signRequest.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/types/index.d.ts +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/types/index.js +5 -0
- package/lib/clients/middleware/signing/signer/signatureV4/types/index.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/types/signer.d.ts +20 -0
- package/lib/clients/middleware/signing/signer/signatureV4/types/signer.js +5 -0
- package/lib/clients/middleware/signing/signer/signatureV4/types/signer.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.d.ts +18 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +35 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.d.ts +12 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +31 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.d.ts +12 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +39 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.d.ts +16 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +35 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.d.ts +10 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +17 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.d.ts +12 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +18 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.d.ts +12 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +22 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.d.ts +10 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +35 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignature.d.ts +13 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +31 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignature.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.d.ts +10 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +20 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.d.ts +13 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +27 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.d.ts +11 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +34 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js.map +1 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.d.ts +16 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +24 -0
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js.map +1 -0
- package/lib/clients/types/aws.d.ts +2 -0
- package/lib/clients/types/aws.js +5 -0
- package/lib/clients/types/aws.js.map +1 -0
- package/lib/clients/types/core.d.ts +13 -0
- package/lib/clients/types/core.js +5 -0
- package/lib/clients/types/core.js.map +1 -0
- package/lib/clients/types/http.d.ts +26 -0
- package/lib/clients/types/http.js +5 -0
- package/lib/clients/types/http.js.map +1 -0
- package/lib/clients/types/index.d.ts +2 -0
- package/lib/clients/types/index.js +5 -0
- package/lib/clients/types/index.js.map +1 -0
- package/lib-esm/Platform/version.d.ts +1 -1
- package/lib-esm/Platform/version.js +1 -1
- package/lib-esm/Platform/version.js.map +1 -1
- package/lib-esm/Signer.d.ts +1 -1
- package/lib-esm/Signer.js +60 -257
- package/lib-esm/Signer.js.map +1 -1
- package/lib-esm/clients/middleware/signing/signer/signatureV4/constants.d.ts +17 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/constants.js +24 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/constants.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.d.ts +3 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.js +7 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.native.d.ts +4 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.native.js +8 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.native.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/presignUrl.d.ts +9 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/presignUrl.js +38 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/presignUrl.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/signRequest.d.ts +10 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/signRequest.js +34 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/signRequest.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/types/index.d.ts +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/types/index.js +3 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/types/index.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/types/signer.d.ts +20 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/types/signer.js +3 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/types/signer.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.d.ts +18 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +33 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.d.ts +12 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +29 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.d.ts +12 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +37 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.d.ts +16 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +33 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.d.ts +10 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +15 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.d.ts +12 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +16 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.d.ts +12 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +20 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.d.ts +10 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +33 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignature.d.ts +13 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +29 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignature.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.d.ts +10 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +18 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.d.ts +13 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +25 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.d.ts +11 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +32 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js.map +1 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.d.ts +16 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +22 -0
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js.map +1 -0
- package/lib-esm/clients/types/aws.d.ts +2 -0
- package/lib-esm/clients/types/aws.js +3 -0
- package/lib-esm/clients/types/aws.js.map +1 -0
- package/lib-esm/clients/types/core.d.ts +13 -0
- package/lib-esm/clients/types/core.js +3 -0
- package/lib-esm/clients/types/core.js.map +1 -0
- package/lib-esm/clients/types/http.d.ts +26 -0
- package/lib-esm/clients/types/http.js +3 -0
- package/lib-esm/clients/types/http.js.map +1 -0
- package/lib-esm/clients/types/index.d.ts +2 -0
- package/lib-esm/clients/types/index.js +3 -0
- package/lib-esm/clients/types/index.js.map +1 -0
- package/package.json +6 -2
- package/src/Platform/version.ts +1 -1
- package/src/Signer.ts +89 -344
- package/src/clients/middleware/signing/signer/signatureV4/constants.ts +28 -0
- package/src/clients/middleware/signing/signer/signatureV4/index.native.ts +9 -0
- package/src/clients/middleware/signing/signer/signatureV4/index.ts +7 -0
- package/src/clients/middleware/signing/signer/signatureV4/presignUrl.ts +59 -0
- package/src/clients/middleware/signing/signer/signatureV4/signRequest.ts +51 -0
- package/src/clients/middleware/signing/signer/signatureV4/types/index.ts +4 -0
- package/src/clients/middleware/signing/signer/signatureV4/types/signer.ts +31 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.ts +42 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.ts +25 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.ts +32 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.ts +38 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.ts +14 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.ts +21 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.ts +22 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.ts +38 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getSignature.ts +52 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.ts +19 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.ts +31 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.ts +43 -0
- package/src/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.ts +28 -0
- package/src/clients/types/aws.ts +6 -0
- package/src/clients/types/core.ts +17 -0
- package/src/clients/types/http.ts +33 -0
- package/src/clients/types/index.ts +5 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns a string to be signed.
|
|
3
|
+
*
|
|
4
|
+
* @param date Current date in the format 'YYYYMMDDThhmmssZ'.
|
|
5
|
+
* @param credentialScope String representing the credential scope with format 'YYYYMMDD/region/service/aws4_request'.
|
|
6
|
+
* @param hashedRequest Hashed canonical request.
|
|
7
|
+
*
|
|
8
|
+
* @returns A string created by by concatenating the following strings, separated by newline characters:
|
|
9
|
+
* - Algorithm
|
|
10
|
+
* - RequestDateTime
|
|
11
|
+
* - CredentialScope
|
|
12
|
+
* - HashedCanonicalRequest
|
|
13
|
+
*
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare const getStringToSign: (date: string, credentialScope: string, hashedRequest: string) => string;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
var constants_1 = require("../constants");
|
|
6
|
+
/**
|
|
7
|
+
* Returns a string to be signed.
|
|
8
|
+
*
|
|
9
|
+
* @param date Current date in the format 'YYYYMMDDThhmmssZ'.
|
|
10
|
+
* @param credentialScope String representing the credential scope with format 'YYYYMMDD/region/service/aws4_request'.
|
|
11
|
+
* @param hashedRequest Hashed canonical request.
|
|
12
|
+
*
|
|
13
|
+
* @returns A string created by by concatenating the following strings, separated by newline characters:
|
|
14
|
+
* - Algorithm
|
|
15
|
+
* - RequestDateTime
|
|
16
|
+
* - CredentialScope
|
|
17
|
+
* - HashedCanonicalRequest
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
exports.getStringToSign = function (date, credentialScope, hashedRequest) {
|
|
22
|
+
return [constants_1.SHA256_ALGORITHM_IDENTIFIER, date, credentialScope, hashedRequest].join('\n');
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=getStringToSign.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getStringToSign.js","sourceRoot":"","sources":["../../../../../../../src/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC,0CAA2D;AAE3D;;;;;;;;;;;;;;GAcG;AACU,QAAA,eAAe,GAAG,UAC9B,IAAY,EACZ,eAAuB,EACvB,aAAqB;IAErB,OAAA,CAAC,uCAA2B,EAAE,IAAI,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,IAAI,CACvE,IAAI,CACJ;AAFD,CAEC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws.js","sourceRoot":"","sources":["../../../src/clients/types/aws.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/clients/types/core.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Request, Response } from './core';
|
|
2
|
+
/**
|
|
3
|
+
* Use basic Record interface to workaround fetch Header class not available in Node.js
|
|
4
|
+
* The header names must be lowercased.
|
|
5
|
+
* TODO: use LowerCase<string> intrinsic when we can support typescript 4.0
|
|
6
|
+
*/
|
|
7
|
+
export declare type Headers = Record<string, string>;
|
|
8
|
+
export interface HttpRequest extends Request {
|
|
9
|
+
method: string;
|
|
10
|
+
headers: Headers;
|
|
11
|
+
body?: BodyInit;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Reduce the API surface of Fetch API's Body mixin to only the methods we need.
|
|
15
|
+
* In React Native, body.arrayBuffer() is not supported.
|
|
16
|
+
* body.formData() is not supported for now.
|
|
17
|
+
*/
|
|
18
|
+
export declare type ResponseBodyMixin = Pick<Body, 'blob' | 'json' | 'text'>;
|
|
19
|
+
export interface HttpResponse extends Response {
|
|
20
|
+
body: (ResponseBodyMixin & ReadableStream) | null;
|
|
21
|
+
statusCode: number;
|
|
22
|
+
/**
|
|
23
|
+
* @see {@link HttpRequest.headers}
|
|
24
|
+
*/
|
|
25
|
+
headers: Headers;
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/clients/types/http.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/types/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "5.2.1
|
|
1
|
+
export declare const version = "5.2.1";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/Platform/version.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,MAAM,CAAC,IAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/Platform/version.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,MAAM,CAAC,IAAM,OAAO,GAAG,OAAO,CAAC"}
|
package/lib-esm/Signer.d.ts
CHANGED
|
@@ -35,7 +35,7 @@ export declare class Signer {
|
|
|
35
35
|
*
|
|
36
36
|
* @returns {object} Signed HTTP request
|
|
37
37
|
*/
|
|
38
|
-
static sign(request: any,
|
|
38
|
+
static sign(request: any, accessInfo: any, serviceInfo: any): any;
|
|
39
39
|
static signUrl(urlToSign: string, accessInfo: any, serviceInfo?: any, expiration?: number): string;
|
|
40
40
|
static signUrl(request: any, accessInfo: any, serviceInfo?: any, expiration?: number): string;
|
|
41
41
|
}
|
package/lib-esm/Signer.js
CHANGED
|
@@ -1,204 +1,11 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
import { __assign
|
|
4
|
-
import { ConsoleLogger as Logger } from './Logger';
|
|
5
|
-
import { Sha256 as jsSha256 } from '@aws-crypto/sha256-js';
|
|
6
|
-
import { toHex } from '@aws-sdk/util-hex-encoding';
|
|
7
|
-
import { parse, format } from 'url';
|
|
3
|
+
import { __assign } from "tslib";
|
|
8
4
|
import { DateUtils } from './Util';
|
|
9
|
-
|
|
10
|
-
var DEFAULT_ALGORITHM = 'AWS4-HMAC-SHA256';
|
|
5
|
+
import { presignUrl, signRequest, TOKEN_QUERY_PARAM, } from './clients/middleware/signing/signer/signatureV4';
|
|
11
6
|
var IOT_SERVICE_NAME = 'iotdevicegateway';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
hash.update(src);
|
|
15
|
-
return hash.digestSync();
|
|
16
|
-
};
|
|
17
|
-
var hash = function (src) {
|
|
18
|
-
var arg = src || '';
|
|
19
|
-
var hash = new jsSha256();
|
|
20
|
-
hash.update(arg);
|
|
21
|
-
return toHex(hash.digestSync());
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* @private
|
|
25
|
-
* RFC 3986 compliant version of encodeURIComponent
|
|
26
|
-
*/
|
|
27
|
-
var escape_RFC3986 = function (component) {
|
|
28
|
-
return component.replace(/[!'()*]/g, function (c) {
|
|
29
|
-
return '%' + c.charCodeAt(0).toString(16).toUpperCase();
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* @private
|
|
34
|
-
* Create canonical query string
|
|
35
|
-
*
|
|
36
|
-
*/
|
|
37
|
-
var canonical_query = function (query) {
|
|
38
|
-
if (!query || query.length === 0) {
|
|
39
|
-
return '';
|
|
40
|
-
}
|
|
41
|
-
return query
|
|
42
|
-
.split('&')
|
|
43
|
-
.map(function (e) {
|
|
44
|
-
var key_val = e.split('=');
|
|
45
|
-
if (key_val.length === 1) {
|
|
46
|
-
return e;
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
var reencoded_val = escape_RFC3986(key_val[1]);
|
|
50
|
-
return key_val[0] + '=' + reencoded_val;
|
|
51
|
-
}
|
|
52
|
-
})
|
|
53
|
-
.sort(function (a, b) {
|
|
54
|
-
var key_a = a.split('=')[0];
|
|
55
|
-
var key_b = b.split('=')[0];
|
|
56
|
-
if (key_a === key_b) {
|
|
57
|
-
return a < b ? -1 : 1;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
return key_a < key_b ? -1 : 1;
|
|
61
|
-
}
|
|
62
|
-
})
|
|
63
|
-
.join('&');
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* @private
|
|
67
|
-
* Create canonical headers
|
|
68
|
-
*
|
|
69
|
-
<pre>
|
|
70
|
-
CanonicalHeaders =
|
|
71
|
-
CanonicalHeadersEntry0 + CanonicalHeadersEntry1 + ... + CanonicalHeadersEntryN
|
|
72
|
-
CanonicalHeadersEntry =
|
|
73
|
-
Lowercase(HeaderName) + ':' + Trimall(HeaderValue) + '\n'
|
|
74
|
-
</pre>
|
|
75
|
-
*/
|
|
76
|
-
var canonical_headers = function (headers) {
|
|
77
|
-
if (!headers || Object.keys(headers).length === 0) {
|
|
78
|
-
return '';
|
|
79
|
-
}
|
|
80
|
-
return (Object.keys(headers)
|
|
81
|
-
.map(function (key) {
|
|
82
|
-
return {
|
|
83
|
-
key: key.toLowerCase(),
|
|
84
|
-
value: headers[key] ? headers[key].trim().replace(/\s+/g, ' ') : '',
|
|
85
|
-
};
|
|
86
|
-
})
|
|
87
|
-
.sort(function (a, b) {
|
|
88
|
-
return a.key < b.key ? -1 : 1;
|
|
89
|
-
})
|
|
90
|
-
.map(function (item) {
|
|
91
|
-
return item.key + ':' + item.value;
|
|
92
|
-
})
|
|
93
|
-
.join('\n') + '\n');
|
|
94
|
-
};
|
|
95
|
-
/**
|
|
96
|
-
* List of header keys included in the canonical headers.
|
|
97
|
-
* @access private
|
|
98
|
-
*/
|
|
99
|
-
var signed_headers = function (headers) {
|
|
100
|
-
return Object.keys(headers)
|
|
101
|
-
.map(function (key) {
|
|
102
|
-
return key.toLowerCase();
|
|
103
|
-
})
|
|
104
|
-
.sort()
|
|
105
|
-
.join(';');
|
|
106
|
-
};
|
|
107
|
-
/**
|
|
108
|
-
* @private
|
|
109
|
-
* Create canonical request
|
|
110
|
-
* Refer to
|
|
111
|
-
* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html|Create a Canonical Request}
|
|
112
|
-
*
|
|
113
|
-
<pre>
|
|
114
|
-
CanonicalRequest =
|
|
115
|
-
HTTPRequestMethod + '\n' +
|
|
116
|
-
CanonicalURI + '\n' +
|
|
117
|
-
CanonicalQueryString + '\n' +
|
|
118
|
-
CanonicalHeaders + '\n' +
|
|
119
|
-
SignedHeaders + '\n' +
|
|
120
|
-
HexEncode(Hash(RequestPayload))
|
|
121
|
-
</pre>
|
|
122
|
-
*/
|
|
123
|
-
var canonical_request = function (request) {
|
|
124
|
-
var url_info = parse(request.url);
|
|
125
|
-
return [
|
|
126
|
-
request.method || '/',
|
|
127
|
-
encodeURIComponent(url_info.pathname).replace(/%2F/gi, '/'),
|
|
128
|
-
canonical_query(url_info.query),
|
|
129
|
-
canonical_headers(request.headers),
|
|
130
|
-
signed_headers(request.headers),
|
|
131
|
-
hash(request.data),
|
|
132
|
-
].join('\n');
|
|
133
|
-
};
|
|
134
|
-
var parse_service_info = function (request) {
|
|
135
|
-
var url_info = parse(request.url), host = url_info.host;
|
|
136
|
-
var matched = host.match(/([^\.]+)\.(?:([^\.]*)\.)?amazonaws\.com$/);
|
|
137
|
-
var parsed = (matched || []).slice(1, 3);
|
|
138
|
-
if (parsed[1] === 'es') {
|
|
139
|
-
// Elastic Search
|
|
140
|
-
parsed = parsed.reverse();
|
|
141
|
-
}
|
|
142
|
-
return {
|
|
143
|
-
service: request.service || parsed[0],
|
|
144
|
-
region: request.region || parsed[1],
|
|
145
|
-
};
|
|
146
|
-
};
|
|
147
|
-
var credential_scope = function (d_str, region, service) {
|
|
148
|
-
return [d_str, region, service, 'aws4_request'].join('/');
|
|
149
|
-
};
|
|
150
|
-
/**
|
|
151
|
-
* @private
|
|
152
|
-
* Create a string to sign
|
|
153
|
-
* Refer to
|
|
154
|
-
* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html|Create String to Sign}
|
|
155
|
-
*
|
|
156
|
-
<pre>
|
|
157
|
-
StringToSign =
|
|
158
|
-
Algorithm + \n +
|
|
159
|
-
RequestDateTime + \n +
|
|
160
|
-
CredentialScope + \n +
|
|
161
|
-
HashedCanonicalRequest
|
|
162
|
-
</pre>
|
|
163
|
-
*/
|
|
164
|
-
var string_to_sign = function (algorithm, canonical_request, dt_str, scope) {
|
|
165
|
-
return [algorithm, dt_str, scope, hash(canonical_request)].join('\n');
|
|
166
|
-
};
|
|
167
|
-
/**
|
|
168
|
-
* @private
|
|
169
|
-
* Create signing key
|
|
170
|
-
* Refer to
|
|
171
|
-
* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html|Calculate Signature}
|
|
172
|
-
*
|
|
173
|
-
<pre>
|
|
174
|
-
kSecret = your secret access key
|
|
175
|
-
kDate = HMAC("AWS4" + kSecret, Date)
|
|
176
|
-
kRegion = HMAC(kDate, Region)
|
|
177
|
-
kService = HMAC(kRegion, Service)
|
|
178
|
-
kSigning = HMAC(kService, "aws4_request")
|
|
179
|
-
</pre>
|
|
180
|
-
*/
|
|
181
|
-
var get_signing_key = function (secret_key, d_str, service_info) {
|
|
182
|
-
logger.debug(service_info);
|
|
183
|
-
var k = 'AWS4' + secret_key, k_date = encrypt(k, d_str), k_region = encrypt(k_date, service_info.region), k_service = encrypt(k_region, service_info.service), k_signing = encrypt(k_service, 'aws4_request');
|
|
184
|
-
return k_signing;
|
|
185
|
-
};
|
|
186
|
-
var get_signature = function (signing_key, str_to_sign) {
|
|
187
|
-
return toHex(encrypt(signing_key, str_to_sign));
|
|
188
|
-
};
|
|
189
|
-
/**
|
|
190
|
-
* @private
|
|
191
|
-
* Create authorization header
|
|
192
|
-
* Refer to
|
|
193
|
-
* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html|Add the Signing Information}
|
|
194
|
-
*/
|
|
195
|
-
var get_authorization_header = function (algorithm, access_key, scope, signed_headers, signature) {
|
|
196
|
-
return [
|
|
197
|
-
algorithm + ' ' + 'Credential=' + access_key + '/' + scope,
|
|
198
|
-
'SignedHeaders=' + signed_headers,
|
|
199
|
-
'Signature=' + signature,
|
|
200
|
-
].join(', ');
|
|
201
|
-
};
|
|
7
|
+
// Best practice regex to parse the service and region from an AWS endpoint
|
|
8
|
+
var AWS_ENDPOINT_REGEX = /([^\.]+)\.(?:([^\.]*)\.)?amazonaws\.com(.cn)?$/;
|
|
202
9
|
var Signer = /** @class */ (function () {
|
|
203
10
|
function Signer() {
|
|
204
11
|
}
|
|
@@ -238,78 +45,74 @@ var Signer = /** @class */ (function () {
|
|
|
238
45
|
*
|
|
239
46
|
* @returns {object} Signed HTTP request
|
|
240
47
|
*/
|
|
241
|
-
Signer.sign = function (request,
|
|
242
|
-
if (service_info === void 0) { service_info = null; }
|
|
48
|
+
Signer.sign = function (request, accessInfo, serviceInfo) {
|
|
243
49
|
request.headers = request.headers || {};
|
|
244
50
|
if (request.body && !request.data) {
|
|
245
51
|
throw new Error('The attribute "body" was found on the request object. Please use the attribute "data" instead.');
|
|
246
52
|
}
|
|
247
|
-
|
|
248
|
-
var
|
|
249
|
-
var
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
var signing_key = get_signing_key(access_info.secret_key, d_str, serviceInfo), signature = get_signature(signing_key, str_to_sign);
|
|
262
|
-
// Task 4: Adding the Signing information to the Request
|
|
263
|
-
var authorization_header = get_authorization_header(DEFAULT_ALGORITHM, access_info.access_key, scope, signed_headers(request.headers), signature);
|
|
264
|
-
request.headers['Authorization'] = authorization_header;
|
|
265
|
-
return request;
|
|
53
|
+
var requestToSign = __assign(__assign({}, request), { body: request.data, url: new URL(request.url) });
|
|
54
|
+
var options = getOptions(requestToSign, accessInfo, serviceInfo);
|
|
55
|
+
var signedRequest = signRequest(requestToSign, options);
|
|
56
|
+
// Prior to using `signRequest`, Signer accepted urls as strings and outputted urls as string. Coerce the property
|
|
57
|
+
// back to a string so as not to disrupt consumers of Signer.
|
|
58
|
+
signedRequest.url = signedRequest.url.toString();
|
|
59
|
+
// HTTP headers should be case insensitive but, to maintain parity with the previous Signer implementation and
|
|
60
|
+
// limit the impact of this implementation swap, replace lowercased headers with title cased ones.
|
|
61
|
+
signedRequest.headers.Authorization = signedRequest.headers.authorization;
|
|
62
|
+
signedRequest.headers['X-Amz-Security-Token'] =
|
|
63
|
+
signedRequest.headers['x-amz-security-token'];
|
|
64
|
+
delete signedRequest.headers.authorization;
|
|
65
|
+
delete signedRequest.headers['x-amz-security-token'];
|
|
66
|
+
return signedRequest;
|
|
266
67
|
};
|
|
267
68
|
Signer.signUrl = function (urlOrRequest, accessInfo, serviceInfo, expiration) {
|
|
268
69
|
var urlToSign = typeof urlOrRequest === 'object' ? urlOrRequest.url : urlOrRequest;
|
|
269
70
|
var method = typeof urlOrRequest === 'object' ? urlOrRequest.method : 'GET';
|
|
270
71
|
var body = typeof urlOrRequest === 'object' ? urlOrRequest.body : undefined;
|
|
271
|
-
var
|
|
272
|
-
|
|
273
|
-
.replace(/[:\-]|\.\d{3}/g, '');
|
|
274
|
-
var today = now.substr(0, 8);
|
|
275
|
-
// Intentionally discarding search
|
|
276
|
-
var _a = parse(urlToSign, true, true), search = _a.search, parsedUrl = __rest(_a, ["search"]);
|
|
277
|
-
var host = parsedUrl.host;
|
|
278
|
-
var signedHeaders = { host: host };
|
|
279
|
-
var _b = serviceInfo || parse_service_info({ url: format(parsedUrl) }), region = _b.region, service = _b.service;
|
|
280
|
-
var credentialScope = credential_scope(today, region, service);
|
|
281
|
-
// IoT service does not allow the session token in the canonical request
|
|
282
|
-
// https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html
|
|
283
|
-
var sessionTokenRequired = accessInfo.session_token && service !== IOT_SERVICE_NAME;
|
|
284
|
-
var queryParams = __assign(__assign(__assign({ 'X-Amz-Algorithm': DEFAULT_ALGORITHM, 'X-Amz-Credential': [accessInfo.access_key, credentialScope].join('/'), 'X-Amz-Date': now.substr(0, 16) }, (sessionTokenRequired
|
|
285
|
-
? { 'X-Amz-Security-Token': "" + accessInfo.session_token }
|
|
286
|
-
: {})), (expiration ? { 'X-Amz-Expires': "" + expiration } : {})), { 'X-Amz-SignedHeaders': Object.keys(signedHeaders).join(',') });
|
|
287
|
-
var canonicalRequest = canonical_request({
|
|
72
|
+
var presignable = {
|
|
73
|
+
body: body,
|
|
288
74
|
method: method,
|
|
289
|
-
url:
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
var signature = get_signature(signing_key, stringToSign);
|
|
299
|
-
var additionalQueryParams = __assign({ 'X-Amz-Signature': signature }, (accessInfo.session_token && {
|
|
300
|
-
'X-Amz-Security-Token': accessInfo.session_token,
|
|
301
|
-
}));
|
|
302
|
-
var result = format({
|
|
303
|
-
protocol: parsedUrl.protocol,
|
|
304
|
-
slashes: true,
|
|
305
|
-
hostname: parsedUrl.hostname,
|
|
306
|
-
port: parsedUrl.port,
|
|
307
|
-
pathname: parsedUrl.pathname,
|
|
308
|
-
query: __assign(__assign(__assign({}, parsedUrl.query), queryParams), additionalQueryParams),
|
|
309
|
-
});
|
|
310
|
-
return result;
|
|
75
|
+
url: new URL(urlToSign),
|
|
76
|
+
};
|
|
77
|
+
var options = getOptions(presignable, accessInfo, serviceInfo, expiration);
|
|
78
|
+
var signedUrl = presignUrl(presignable, options);
|
|
79
|
+
if (accessInfo.session_token &&
|
|
80
|
+
!sessionTokenRequiredInSigning(options.signingService)) {
|
|
81
|
+
signedUrl.searchParams.append(TOKEN_QUERY_PARAM, accessInfo.session_token);
|
|
82
|
+
}
|
|
83
|
+
return signedUrl.toString();
|
|
311
84
|
};
|
|
312
85
|
return Signer;
|
|
313
86
|
}());
|
|
314
87
|
export { Signer };
|
|
88
|
+
var getOptions = function (request, accessInfo, serviceInfo, expiration) {
|
|
89
|
+
var _a = accessInfo !== null && accessInfo !== void 0 ? accessInfo : {}, access_key = _a.access_key, secret_key = _a.secret_key, session_token = _a.session_token;
|
|
90
|
+
var _b = parseServiceInfo(request.url), urlRegion = _b.region, urlService = _b.service;
|
|
91
|
+
var _c = serviceInfo !== null && serviceInfo !== void 0 ? serviceInfo : {}, _d = _c.region, region = _d === void 0 ? urlRegion : _d, _e = _c.service, service = _e === void 0 ? urlService : _e;
|
|
92
|
+
var credentials = __assign({ accessKeyId: access_key, secretAccessKey: secret_key }, (sessionTokenRequiredInSigning(service)
|
|
93
|
+
? { sessionToken: session_token }
|
|
94
|
+
: {}));
|
|
95
|
+
return __assign({ credentials: credentials, signingDate: DateUtils.getDateWithClockOffset(), signingRegion: region, signingService: service }, (expiration && { expiration: expiration }));
|
|
96
|
+
};
|
|
97
|
+
// TODO: V6 investigate whether add to custom clients' general signer implementation.
|
|
98
|
+
var parseServiceInfo = function (url) {
|
|
99
|
+
var _a;
|
|
100
|
+
var host = url.host;
|
|
101
|
+
var matched = (_a = host.match(AWS_ENDPOINT_REGEX)) !== null && _a !== void 0 ? _a : [];
|
|
102
|
+
var parsed = matched.slice(1, 3);
|
|
103
|
+
if (parsed[1] === 'es') {
|
|
104
|
+
// Elastic Search
|
|
105
|
+
parsed = parsed.reverse();
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
service: parsed[0],
|
|
109
|
+
region: parsed[1],
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
// IoT service does not allow the session token in the canonical request
|
|
113
|
+
// https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html
|
|
114
|
+
// TODO: V6 investigate whether add to custom clients' general signer implementation.
|
|
115
|
+
var sessionTokenRequiredInSigning = function (service) {
|
|
116
|
+
return service !== IOT_SERVICE_NAME;
|
|
117
|
+
};
|
|
315
118
|
//# sourceMappingURL=Signer.js.map
|
package/lib-esm/Signer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Signer.js","sourceRoot":"","sources":["../src/Signer.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Signer.js","sourceRoot":"","sources":["../src/Signer.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EACN,UAAU,EACV,WAAW,EACX,iBAAiB,GACjB,MAAM,iDAAiD,CAAC;AAEzD,IAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAC5C,2EAA2E;AAC3E,IAAM,kBAAkB,GAAG,gDAAgD,CAAC;AAE5E;IAAA;IAoHA,CAAC;IAnHA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAmCK;IACE,WAAI,GAAX,UAAY,OAAO,EAAE,UAAU,EAAE,WAAW;QAC3C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAExC,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAClC,MAAM,IAAI,KAAK,CACd,gGAAgG,CAChG,CAAC;SACF;QAED,IAAM,aAAa,yBACf,OAAO,KACV,IAAI,EAAE,OAAO,CAAC,IAAI,EAClB,GAAG,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAa,CAAC,GACnC,CAAC;QAEF,IAAM,OAAO,GAAG,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACnE,IAAM,aAAa,GAAQ,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC/D,kHAAkH;QAClH,6DAA6D;QAC7D,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjD,8GAA8G;QAC9G,kGAAkG;QAClG,aAAa,CAAC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC;QAC1E,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC;YAC5C,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC/C,OAAO,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC;QAC3C,OAAO,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACrD,OAAO,aAAa,CAAC;IACtB,CAAC;IAcM,cAAO,GAAd,UACC,YAA0B,EAC1B,UAAe,EACf,WAAiB,EACjB,UAAmB;QAEnB,IAAM,SAAS,GACd,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;QACpE,IAAM,MAAM,GACX,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAChE,IAAM,IAAI,GACT,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAElE,IAAM,WAAW,GAAG;YACnB,IAAI,MAAA;YACJ,MAAM,QAAA;YACN,GAAG,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC;SACvB,CAAC;QAEF,IAAM,OAAO,GAAG,UAAU,CACzB,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,CACV,CAAC;QACF,IAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,IACC,UAAU,CAAC,aAAa;YACxB,CAAC,6BAA6B,CAAC,OAAO,CAAC,cAAc,CAAC,EACrD;YACD,SAAS,CAAC,YAAY,CAAC,MAAM,CAC5B,iBAAiB,EACjB,UAAU,CAAC,aAAa,CACxB,CAAC;SACF;QACD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IACF,aAAC;AAAD,CAAC,AApHD,IAoHC;;AAED,IAAM,UAAU,GAAG,UAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAW;IAC1D,IAAA,mEAA4D,EAA1D,0BAAU,EAAE,0BAAU,EAAE,gCAAkC,CAAC;IAC7D,IAAA,kCAEL,EAFO,qBAAiB,EAAE,uBAE1B,CAAC;IACI,IAAA,sEAAgE,EAA9D,cAAkB,EAAlB,uCAAkB,EAAE,eAAoB,EAApB,yCAA0C,CAAC;IACvE,IAAM,WAAW,cAChB,WAAW,EAAE,UAAU,EACvB,eAAe,EAAE,UAAU,IACxB,CAAC,6BAA6B,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE;QACjC,CAAC,CAAC,EAAE,CAAC,CACN,CAAC;IACF,kBACC,WAAW,aAAA,EACX,WAAW,EAAE,SAAS,CAAC,sBAAsB,EAAE,EAC/C,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,OAAO,IACpB,CAAC,UAAU,IAAI,EAAE,UAAU,YAAA,EAAE,CAAC,EAChC;AACH,CAAC,CAAC;AAEF,qFAAqF;AACrF,IAAM,gBAAgB,GAAG,UAAC,GAAQ;;IACjC,IAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAM,OAAO,SAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,mCAAI,EAAE,CAAC;IACrD,IAAI,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QACvB,iBAAiB;QACjB,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;KAC1B;IAED,OAAO;QACN,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACjB,CAAC;AACH,CAAC,CAAC;AAEF,wEAAwE;AACxE,oFAAoF;AACpF,qFAAqF;AACrF,IAAM,6BAA6B,GAAG,UAAC,OAAe;IACrD,OAAA,OAAO,KAAK,gBAAgB;AAA5B,CAA4B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const ALGORITHM_QUERY_PARAM = "X-Amz-Algorithm";
|
|
2
|
+
export declare const AMZ_DATE_QUERY_PARAM = "X-Amz-Date";
|
|
3
|
+
export declare const CREDENTIAL_QUERY_PARAM = "X-Amz-Credential";
|
|
4
|
+
export declare const EXPIRES_QUERY_PARAM = "X-Amz-Expires";
|
|
5
|
+
export declare const REGION_SET_PARAM = "X-Amz-Region-Set";
|
|
6
|
+
export declare const SIGNATURE_QUERY_PARAM = "X-Amz-Signature";
|
|
7
|
+
export declare const SIGNED_HEADERS_QUERY_PARAM = "X-Amz-SignedHeaders";
|
|
8
|
+
export declare const TOKEN_QUERY_PARAM = "X-Amz-Security-Token";
|
|
9
|
+
export declare const AUTH_HEADER = "authorization";
|
|
10
|
+
export declare const HOST_HEADER = "host";
|
|
11
|
+
export declare const AMZ_DATE_HEADER: string;
|
|
12
|
+
export declare const TOKEN_HEADER: string;
|
|
13
|
+
export declare const KEY_TYPE_IDENTIFIER = "aws4_request";
|
|
14
|
+
export declare const SHA256_ALGORITHM_IDENTIFIER = "AWS4-HMAC-SHA256";
|
|
15
|
+
export declare const SIGNATURE_IDENTIFIER = "AWS4";
|
|
16
|
+
export declare const EMPTY_HASH = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
|
|
17
|
+
export declare const UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
// query params
|
|
4
|
+
export var ALGORITHM_QUERY_PARAM = 'X-Amz-Algorithm';
|
|
5
|
+
export var AMZ_DATE_QUERY_PARAM = 'X-Amz-Date';
|
|
6
|
+
export var CREDENTIAL_QUERY_PARAM = 'X-Amz-Credential';
|
|
7
|
+
export var EXPIRES_QUERY_PARAM = 'X-Amz-Expires';
|
|
8
|
+
export var REGION_SET_PARAM = 'X-Amz-Region-Set';
|
|
9
|
+
export var SIGNATURE_QUERY_PARAM = 'X-Amz-Signature';
|
|
10
|
+
export var SIGNED_HEADERS_QUERY_PARAM = 'X-Amz-SignedHeaders';
|
|
11
|
+
export var TOKEN_QUERY_PARAM = 'X-Amz-Security-Token';
|
|
12
|
+
// headers
|
|
13
|
+
export var AUTH_HEADER = 'authorization';
|
|
14
|
+
export var HOST_HEADER = 'host';
|
|
15
|
+
export var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();
|
|
16
|
+
export var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();
|
|
17
|
+
// identifiers
|
|
18
|
+
export var KEY_TYPE_IDENTIFIER = 'aws4_request';
|
|
19
|
+
export var SHA256_ALGORITHM_IDENTIFIER = 'AWS4-HMAC-SHA256';
|
|
20
|
+
export var SIGNATURE_IDENTIFIER = 'AWS4';
|
|
21
|
+
// preset values
|
|
22
|
+
export var EMPTY_HASH = 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855';
|
|
23
|
+
export var UNSIGNED_PAYLOAD = 'UNSIGNED-PAYLOAD';
|
|
24
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/clients/middleware/signing/signer/signatureV4/constants.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,eAAe;AACf,MAAM,CAAC,IAAM,qBAAqB,GAAG,iBAAiB,CAAC;AACvD,MAAM,CAAC,IAAM,oBAAoB,GAAG,YAAY,CAAC;AACjD,MAAM,CAAC,IAAM,sBAAsB,GAAG,kBAAkB,CAAC;AACzD,MAAM,CAAC,IAAM,mBAAmB,GAAG,eAAe,CAAC;AACnD,MAAM,CAAC,IAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,IAAM,qBAAqB,GAAG,iBAAiB,CAAC;AACvD,MAAM,CAAC,IAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAChE,MAAM,CAAC,IAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAExD,UAAU;AACV,MAAM,CAAC,IAAM,WAAW,GAAG,eAAe,CAAC;AAC3C,MAAM,CAAC,IAAM,WAAW,GAAG,MAAM,CAAC;AAClC,MAAM,CAAC,IAAM,eAAe,GAAG,oBAAoB,CAAC,WAAW,EAAE,CAAC;AAClE,MAAM,CAAC,IAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;AAE5D,cAAc;AACd,MAAM,CAAC,IAAM,mBAAmB,GAAG,cAAc,CAAC;AAClD,MAAM,CAAC,IAAM,2BAA2B,GAAG,kBAAkB,CAAC;AAC9D,MAAM,CAAC,IAAM,oBAAoB,GAAG,MAAM,CAAC;AAE3C,gBAAgB;AAChB,MAAM,CAAC,IAAM,UAAU,GACtB,kEAAkE,CAAC;AACpE,MAAM,CAAC,IAAM,gBAAgB,GAAG,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
// TODO: V6 replace Signer
|
|
4
|
+
export { signRequest } from './signRequest';
|
|
5
|
+
export { presignUrl } from './presignUrl';
|
|
6
|
+
export { TOKEN_QUERY_PARAM } from './constants';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/clients/middleware/signing/signer/signatureV4/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,0BAA0B;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import 'react-native-url-polyfill/auto';
|
|
4
|
+
// TODO: V6 replace Signer
|
|
5
|
+
export { signRequest } from './signRequest';
|
|
6
|
+
export { presignUrl } from './presignUrl';
|
|
7
|
+
export { TOKEN_QUERY_PARAM } from './constants';
|
|
8
|
+
//# sourceMappingURL=index.native.js.map
|