@aws-amplify/core 6.0.1-api-v6-models.9351bcf.0 → 6.0.1-api-v6-models.891fe0d.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/BackgroundProcessManager/BackgroundManagerNotOpenError.js +4 -21
- package/lib/BackgroundProcessManager/BackgroundProcessManager.js +126 -245
- package/lib/Cache/StorageCache.js +32 -92
- package/lib/Cache/StorageCache.native.js +38 -140
- package/lib/Cache/StorageCacheCommon.js +271 -600
- package/lib/Cache/index.js +1 -1
- package/lib/Cache/utils/CacheList.js +42 -66
- package/lib/Cache/utils/cacheHelpers.js +6 -8
- package/lib/Cache/utils/errorHelpers.js +6 -7
- package/lib/Hub/index.js +34 -74
- package/lib/I18n/I18n.js +24 -39
- package/lib/I18n/errorHelpers.js +4 -5
- package/lib/I18n/index.js +24 -27
- package/lib/I18n/types.js +3 -4
- package/lib/Logger/ConsoleLogger.js +53 -129
- package/lib/Mutex/Mutex.js +15 -19
- package/lib/Platform/customUserAgent.js +13 -26
- package/lib/Platform/detectFramework.js +12 -13
- package/lib/Platform/detection/Angular.js +4 -5
- package/lib/Platform/detection/Expo.js +1 -1
- package/lib/Platform/detection/Next.js +1 -1
- package/lib/Platform/detection/Nuxt.js +1 -1
- package/lib/Platform/detection/React.js +5 -5
- package/lib/Platform/detection/Svelte.js +2 -2
- package/lib/Platform/detection/Vue.js +1 -1
- package/lib/Platform/detection/Web.js +1 -1
- package/lib/Platform/detection/helpers.js +7 -7
- package/lib/Platform/detection/index.js +13 -13
- package/lib/Platform/index.js +26 -55
- package/lib/Platform/types.d.ts +1 -1
- package/lib/Platform/types.js +1 -1
- package/lib/Platform/version.d.ts +1 -1
- package/lib/Platform/version.js +1 -1
- package/lib/Reachability/Reachability.js +20 -48
- package/lib/Reachability/Reachability.native.js +12 -16
- package/lib/ServiceWorker/ServiceWorker.js +80 -136
- package/lib/ServiceWorker/errorHelpers.js +6 -7
- package/lib/Signer/DateUtils.d.ts +9 -0
- package/lib/Signer/DateUtils.js +19 -28
- package/lib/Signer/Signer.d.ts +9 -0
- package/lib/Signer/Signer.js +58 -54
- package/lib/adapterCore/error/AmplifyServerContextError.js +9 -27
- package/lib/adapterCore/serverContext/serverContext.js +8 -8
- package/lib/adapterCore/serverContext/serverContextRegistry.js +6 -6
- package/lib/awsClients/cognitoIdentity/base.js +25 -73
- package/lib/awsClients/cognitoIdentity/getCredentialsForIdentity.js +24 -68
- package/lib/awsClients/cognitoIdentity/getId.js +19 -62
- package/lib/awsClients/pinpoint/base.js +12 -15
- package/lib/awsClients/pinpoint/errorHelpers.js +4 -5
- package/lib/awsClients/pinpoint/getInAppMessages.js +24 -68
- package/lib/awsClients/pinpoint/putEvents.js +26 -70
- package/lib/awsClients/pinpoint/updateEndpoint.js +28 -72
- package/lib/clients/endpoints/getDnsSuffix.js +7 -29
- package/lib/clients/handlers/authenticated.js +5 -5
- package/lib/clients/handlers/fetch.js +41 -98
- package/lib/clients/handlers/unauthenticated.js +4 -4
- package/lib/clients/internal/composeServiceApi.js +17 -67
- package/lib/clients/internal/composeTransferHandler.js +9 -11
- package/lib/clients/middleware/retry/defaultRetryDecider.js +18 -75
- package/lib/clients/middleware/retry/isClockSkewError.js +2 -4
- package/lib/clients/middleware/retry/jitteredBackoff.js +5 -5
- package/lib/clients/middleware/retry/middleware.js +61 -125
- package/lib/clients/middleware/signing/middleware.js +24 -86
- package/lib/clients/middleware/signing/signer/signatureV4/index.js +0 -1
- package/lib/clients/middleware/signing/signer/signatureV4/presignUrl.js +21 -56
- package/lib/clients/middleware/signing/signer/signatureV4/signRequest.js +14 -25
- package/lib/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +7 -7
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +8 -30
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +11 -38
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +13 -17
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +5 -8
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +2 -2
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +3 -3
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +7 -11
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +9 -10
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +4 -6
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +8 -8
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +15 -16
- package/lib/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +2 -4
- package/lib/clients/middleware/signing/utils/extendedEncodeURIComponent.js +3 -5
- package/lib/clients/middleware/signing/utils/getSkewCorrectedDate.js +1 -3
- package/lib/clients/middleware/signing/utils/getUpdatedSystemClockOffset.js +2 -2
- package/lib/clients/middleware/signing/utils/isClockSkewed.js +4 -6
- package/lib/clients/middleware/userAgent/middleware.js +14 -63
- package/lib/clients/serde/json.js +30 -96
- package/lib/clients/serde/responseInfo.js +12 -18
- package/lib/clients/utils/memoization.js +3 -3
- package/lib/constants.js +1 -1
- package/lib/errors/AmplifyError.js +9 -28
- package/lib/errors/PlatformNotSupportedError.js +7 -24
- package/lib/errors/createAssertionFunction.js +12 -15
- package/lib/errors/errorHelpers.js +7 -8
- package/lib/index.d.ts +1 -1
- package/lib/libraryUtils.d.ts +4 -0
- package/lib/libraryUtils.js +13 -3
- package/lib/parseAWSExports.js +109 -100
- package/lib/providers/kinesis/types/kinesis.d.ts +1 -1
- package/lib/providers/kinesis-firehose/types/kinesis-firehose.d.ts +1 -1
- package/lib/providers/personalize/types/personalize.d.ts +1 -1
- package/lib/providers/pinpoint/apis/flushEvents.js +8 -8
- package/lib/providers/pinpoint/apis/record.js +58 -93
- package/lib/providers/pinpoint/apis/updateEndpoint.js +65 -112
- package/lib/providers/pinpoint/types/pinpoint.d.ts +3 -1
- package/lib/providers/pinpoint/utils/PinpointEventBuffer.js +105 -196
- package/lib/providers/pinpoint/utils/cacheEndpointId.js +12 -49
- package/lib/providers/pinpoint/utils/getCacheKey.js +2 -2
- package/lib/providers/pinpoint/utils/getEndpointId.js +7 -51
- package/lib/providers/pinpoint/utils/getEventBuffer.js +19 -21
- package/lib/providers/pinpoint/utils/isAppInForeground.js +1 -1
- package/lib/providers/pinpoint/utils/isAppInForeground.native.js +2 -2
- package/lib/providers/pinpoint/utils/resolveEndpointId.js +20 -71
- package/lib/singleton/Amplify.d.ts +4 -0
- package/lib/singleton/Amplify.js +21 -103
- package/lib/singleton/Analytics/types.d.ts +5 -1
- package/lib/singleton/Auth/index.js +48 -115
- package/lib/singleton/Auth/types.d.ts +2 -2
- package/lib/singleton/Auth/utils/errorHelpers.js +7 -8
- package/lib/singleton/Auth/utils/index.js +18 -19
- package/lib/singleton/Predictions/types.d.ts +49 -0
- package/lib/singleton/Predictions/types.js +4 -0
- package/lib/singleton/apis/clearCredentials.js +1 -1
- package/lib/singleton/apis/fetchAuthSession.js +3 -3
- package/lib/singleton/apis/internal/fetchAuthSession.js +1 -1
- package/lib/singleton/apis/server/fetchAuthSession.js +3 -3
- package/lib/singleton/types.d.ts +3 -1
- package/lib/storage/CookieStorage.js +29 -99
- package/lib/storage/CookieStorage.native.js +5 -22
- package/lib/storage/DefaultStorage.js +6 -23
- package/lib/storage/DefaultStorage.native.js +18 -64
- package/lib/storage/InMemoryStorage.js +17 -23
- package/lib/storage/KeyValueStorage.js +24 -80
- package/lib/storage/SessionStorage.js +6 -23
- package/lib/storage/index.js +4 -4
- package/lib/storage/utils.js +7 -11
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/WordArray.d.ts +7 -0
- package/lib/utils/WordArray.js +49 -0
- package/lib/utils/amplifyUrl/index.js +2 -2
- package/lib/utils/amplifyUrl/polyfill.native.js +1 -1
- package/lib/utils/amplifyUuid/index.d.ts +1 -1
- package/lib/utils/amplifyUuid/index.js +2 -2
- package/lib/utils/amplifyUuid/polyfill.native.js +1 -1
- package/lib/utils/convert/base64/base64Decoder.js +2 -2
- package/lib/utils/convert/base64/base64Encoder.js +5 -6
- package/lib/utils/convert/base64/bytesToString.js +1 -1
- package/lib/utils/cryptoSecureRandomInt.d.ts +1 -0
- package/lib/utils/cryptoSecureRandomInt.js +16 -0
- package/lib/utils/deepFreeze.js +6 -28
- package/lib/utils/generateRandomString.js +4 -4
- package/lib/utils/getClientInfo/getClientInfo.android.js +7 -7
- package/lib/utils/getClientInfo/getClientInfo.ios.js +12 -12
- package/lib/utils/getClientInfo/getClientInfo.js +16 -16
- package/lib/utils/globalHelpers/index.js +4 -4
- package/lib/utils/globalHelpers/index.native.js +6 -6
- package/lib/utils/isBrowser.js +1 -3
- package/lib/utils/isWebWorker.js +2 -2
- package/lib/utils/retry/NonRetryableError.js +5 -23
- package/lib/utils/retry/isNonRetryableError.js +2 -2
- package/lib/utils/retry/jitteredBackoff.js +6 -7
- package/lib/utils/retry/jitteredExponentialRetry.js +4 -7
- package/lib/utils/retry/retry.js +50 -140
- package/lib/utils/sessionListener/SessionListener.js +17 -19
- package/lib/utils/sessionListener/SessionListener.native.js +18 -22
- package/lib/utils/sessionListener/constants.d.ts +2 -0
- package/lib/utils/sessionListener/constants.js +8 -0
- package/lib/utils/sessionListener/index.d.ts +1 -0
- package/lib/utils/sessionListener/index.js +5 -2
- package/lib/utils/urlSafeDecode.js +2 -2
- package/lib/utils/urlSafeEncode.js +1 -1
- package/lib-esm/BackgroundProcessManager/BackgroundManagerNotOpenError.js +4 -22
- package/lib-esm/BackgroundProcessManager/BackgroundProcessManager.js +124 -244
- package/lib-esm/Cache/StorageCache.js +26 -87
- package/lib-esm/Cache/StorageCache.native.js +33 -136
- package/lib-esm/Cache/StorageCacheCommon.js +267 -597
- package/lib-esm/Cache/constants.js +2 -2
- package/lib-esm/Cache/index.js +1 -1
- package/lib-esm/Cache/utils/CacheList.js +41 -66
- package/lib-esm/Cache/utils/cacheHelpers.js +5 -7
- package/lib-esm/Cache/utils/errorHelpers.js +6 -7
- package/lib-esm/Hub/index.js +34 -75
- package/lib-esm/I18n/I18n.js +23 -39
- package/lib-esm/I18n/errorHelpers.js +4 -5
- package/lib-esm/I18n/index.js +21 -25
- package/lib-esm/I18n/types.js +3 -5
- package/lib-esm/Logger/ConsoleLogger.js +52 -128
- package/lib-esm/Mutex/Mutex.js +15 -20
- package/lib-esm/Platform/customUserAgent.js +13 -26
- package/lib-esm/Platform/detectFramework.js +11 -12
- package/lib-esm/Platform/detection/Angular.js +3 -4
- package/lib-esm/Platform/detection/React.js +4 -4
- package/lib-esm/Platform/detection/Svelte.js +1 -1
- package/lib-esm/Platform/detection/helpers.js +7 -7
- package/lib-esm/Platform/detection/index.js +3 -3
- package/lib-esm/Platform/index.js +23 -52
- package/lib-esm/Platform/types.d.ts +1 -1
- package/lib-esm/Platform/types.js +1 -1
- package/lib-esm/Platform/version.d.ts +1 -1
- package/lib-esm/Platform/version.js +1 -1
- package/lib-esm/Reachability/Reachability.js +18 -46
- package/lib-esm/Reachability/Reachability.native.js +10 -15
- package/lib-esm/ServiceWorker/ServiceWorker.js +74 -131
- package/lib-esm/ServiceWorker/errorHelpers.js +6 -7
- package/lib-esm/Signer/DateUtils.d.ts +9 -0
- package/lib-esm/Signer/DateUtils.js +20 -29
- package/lib-esm/Signer/Signer.d.ts +9 -0
- package/lib-esm/Signer/Signer.js +54 -51
- package/lib-esm/adapterCore/error/AmplifyServerContextError.js +8 -27
- package/lib-esm/adapterCore/serverContext/serverContext.js +6 -6
- package/lib-esm/adapterCore/serverContext/serverContextRegistry.js +7 -7
- package/lib-esm/awsClients/cognitoIdentity/base.js +21 -69
- package/lib-esm/awsClients/cognitoIdentity/getCredentialsForIdentity.js +22 -66
- package/lib-esm/awsClients/cognitoIdentity/getId.js +17 -60
- package/lib-esm/awsClients/pinpoint/base.js +8 -11
- package/lib-esm/awsClients/pinpoint/errorHelpers.js +4 -5
- package/lib-esm/awsClients/pinpoint/getInAppMessages.js +19 -63
- package/lib-esm/awsClients/pinpoint/putEvents.js +20 -64
- package/lib-esm/awsClients/pinpoint/updateEndpoint.js +23 -67
- package/lib-esm/clients/endpoints/getDnsSuffix.js +6 -28
- package/lib-esm/clients/endpoints/partitions.js +2 -2
- package/lib-esm/clients/handlers/authenticated.js +1 -1
- package/lib-esm/clients/handlers/fetch.js +40 -97
- package/lib-esm/clients/handlers/unauthenticated.js +1 -1
- package/lib-esm/clients/internal/composeServiceApi.js +17 -67
- package/lib-esm/clients/internal/composeTransferHandler.js +9 -11
- package/lib-esm/clients/middleware/retry/defaultRetryDecider.js +17 -74
- package/lib-esm/clients/middleware/retry/isClockSkewError.js +2 -4
- package/lib-esm/clients/middleware/retry/jitteredBackoff.js +4 -4
- package/lib-esm/clients/middleware/retry/middleware.js +61 -125
- package/lib-esm/clients/middleware/signing/middleware.js +21 -83
- package/lib-esm/clients/middleware/signing/signer/signatureV4/constants.js +17 -17
- package/lib-esm/clients/middleware/signing/signer/signatureV4/index.js +0 -1
- package/lib-esm/clients/middleware/signing/signer/signatureV4/presignUrl.js +17 -52
- package/lib-esm/clients/middleware/signing/signer/signatureV4/signRequest.js +10 -21
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js +5 -5
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js +8 -30
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js +11 -38
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js +8 -12
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js +5 -8
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js +1 -1
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js +3 -3
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js +5 -9
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignature.js +5 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js +4 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js +6 -6
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js +13 -14
- package/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js +1 -3
- package/lib-esm/clients/middleware/signing/utils/extendedEncodeURIComponent.js +3 -5
- package/lib-esm/clients/middleware/signing/utils/getSkewCorrectedDate.js +1 -3
- package/lib-esm/clients/middleware/signing/utils/getUpdatedSystemClockOffset.js +1 -1
- package/lib-esm/clients/middleware/signing/utils/isClockSkewed.js +3 -5
- package/lib-esm/clients/middleware/userAgent/middleware.js +14 -63
- package/lib-esm/clients/serde/json.js +29 -95
- package/lib-esm/clients/serde/responseInfo.js +11 -17
- package/lib-esm/clients/utils/memoization.js +3 -3
- package/lib-esm/constants.js +5 -5
- package/lib-esm/errors/AmplifyError.js +9 -29
- package/lib-esm/errors/PlatformNotSupportedError.js +5 -23
- package/lib-esm/errors/createAssertionFunction.js +11 -14
- package/lib-esm/errors/errorHelpers.js +6 -7
- package/lib-esm/index.d.ts +1 -1
- package/lib-esm/libraryUtils.d.ts +4 -0
- package/lib-esm/libraryUtils.js +4 -0
- package/lib-esm/parseAWSExports.js +108 -99
- package/lib-esm/providers/kinesis/types/kinesis.d.ts +1 -1
- package/lib-esm/providers/kinesis-firehose/types/kinesis-firehose.d.ts +1 -1
- package/lib-esm/providers/personalize/types/personalize.d.ts +1 -1
- package/lib-esm/providers/pinpoint/apis/flushEvents.js +6 -6
- package/lib-esm/providers/pinpoint/apis/record.js +54 -89
- package/lib-esm/providers/pinpoint/apis/updateEndpoint.js +61 -108
- package/lib-esm/providers/pinpoint/types/pinpoint.d.ts +3 -1
- package/lib-esm/providers/pinpoint/utils/PinpointEventBuffer.js +102 -194
- package/lib-esm/providers/pinpoint/utils/cacheEndpointId.js +10 -47
- package/lib-esm/providers/pinpoint/utils/constants.js +4 -4
- package/lib-esm/providers/pinpoint/utils/getCacheKey.js +2 -2
- package/lib-esm/providers/pinpoint/utils/getEndpointId.js +5 -49
- package/lib-esm/providers/pinpoint/utils/getEventBuffer.js +17 -19
- package/lib-esm/providers/pinpoint/utils/isAppInForeground.js +1 -1
- package/lib-esm/providers/pinpoint/utils/isAppInForeground.native.js +1 -1
- package/lib-esm/providers/pinpoint/utils/resolveEndpointId.js +16 -67
- package/lib-esm/singleton/Amplify.d.ts +4 -0
- package/lib-esm/singleton/Amplify.js +18 -101
- package/lib-esm/singleton/Analytics/types.d.ts +5 -1
- package/lib-esm/singleton/Auth/index.js +48 -116
- package/lib-esm/singleton/Auth/types.d.ts +2 -2
- package/lib-esm/singleton/Auth/utils/errorHelpers.js +7 -8
- package/lib-esm/singleton/Auth/utils/index.js +16 -17
- package/lib-esm/singleton/Predictions/types.d.ts +49 -0
- package/lib-esm/singleton/Predictions/types.js +3 -0
- package/lib-esm/singleton/apis/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/apis/internal/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/apis/server/fetchAuthSession.js +1 -1
- package/lib-esm/singleton/types.d.ts +3 -1
- package/lib-esm/storage/CookieStorage.js +28 -99
- package/lib-esm/storage/CookieStorage.native.js +4 -22
- package/lib-esm/storage/DefaultStorage.js +4 -22
- package/lib-esm/storage/DefaultStorage.native.js +17 -64
- package/lib-esm/storage/InMemoryStorage.js +17 -24
- package/lib-esm/storage/KeyValueStorage.js +23 -80
- package/lib-esm/storage/SessionStorage.js +4 -22
- package/lib-esm/storage/index.js +3 -3
- package/lib-esm/storage/utils.js +6 -10
- package/lib-esm/tsconfig.tsbuildinfo +1 -1
- package/lib-esm/utils/WordArray.d.ts +7 -0
- package/lib-esm/utils/WordArray.js +46 -0
- package/lib-esm/utils/amplifyUrl/index.js +2 -2
- package/lib-esm/utils/amplifyUuid/index.d.ts +1 -1
- package/lib-esm/utils/amplifyUuid/index.js +1 -1
- package/lib-esm/utils/convert/base64/base64Decoder.js +2 -2
- package/lib-esm/utils/convert/base64/base64Encoder.js +4 -5
- package/lib-esm/utils/convert/base64/bytesToString.js +1 -1
- package/lib-esm/utils/cryptoSecureRandomInt.d.ts +1 -0
- package/lib-esm/utils/cryptoSecureRandomInt.js +12 -0
- package/lib-esm/utils/deepFreeze.js +6 -28
- package/lib-esm/utils/generateRandomString.js +4 -4
- package/lib-esm/utils/getClientInfo/getClientInfo.android.js +5 -5
- package/lib-esm/utils/getClientInfo/getClientInfo.ios.js +10 -10
- package/lib-esm/utils/getClientInfo/getClientInfo.js +15 -15
- package/lib-esm/utils/globalHelpers/index.js +3 -3
- package/lib-esm/utils/globalHelpers/index.native.js +4 -4
- package/lib-esm/utils/isBrowser.js +1 -3
- package/lib-esm/utils/isWebWorker.js +2 -2
- package/lib-esm/utils/retry/NonRetryableError.js +5 -24
- package/lib-esm/utils/retry/constants.js +1 -1
- package/lib-esm/utils/retry/isNonRetryableError.js +2 -2
- package/lib-esm/utils/retry/jitteredBackoff.js +5 -6
- package/lib-esm/utils/retry/jitteredExponentialRetry.js +1 -4
- package/lib-esm/utils/retry/retry.js +48 -138
- package/lib-esm/utils/sessionListener/SessionListener.js +16 -19
- package/lib-esm/utils/sessionListener/SessionListener.native.js +17 -22
- package/lib-esm/utils/sessionListener/constants.d.ts +2 -0
- package/lib-esm/utils/sessionListener/constants.js +5 -0
- package/lib-esm/utils/sessionListener/index.d.ts +1 -0
- package/lib-esm/utils/sessionListener/index.js +2 -1
- package/lib-esm/utils/urlSafeDecode.js +2 -2
- package/lib-esm/utils/urlSafeEncode.js +1 -1
- package/package.json +11 -24
- package/src/Cache/types/index.ts +4 -4
- package/src/Platform/types.ts +1 -1
- package/src/Platform/version.ts +1 -1
- package/src/Signer/DateUtils.ts +10 -2
- package/src/Signer/Signer.ts +9 -2
- package/src/clients/middleware/signing/signer/signatureV4/index.ts +0 -1
- package/src/index.ts +1 -0
- package/src/libraryUtils.ts +7 -1
- package/src/parseAWSExports.ts +45 -6
- package/src/providers/kinesis/types/kinesis.ts +1 -1
- package/src/providers/kinesis-firehose/types/kinesis-firehose.ts +1 -1
- package/src/providers/personalize/types/personalize.ts +1 -1
- package/src/providers/pinpoint/apis/record.ts +22 -5
- package/src/providers/pinpoint/types/pinpoint.ts +3 -1
- package/src/singleton/Amplify.ts +9 -52
- package/src/singleton/Analytics/types.ts +9 -4
- package/src/singleton/Auth/types.ts +2 -2
- package/src/singleton/Predictions/types.ts +61 -0
- package/src/singleton/types.ts +3 -1
- package/src/utils/WordArray.ts +57 -0
- package/src/utils/amplifyUuid/index.ts +1 -1
- package/src/utils/cryptoSecureRandomInt.ts +14 -0
- package/src/utils/sessionListener/constants.ts +6 -0
- package/src/utils/sessionListener/index.ts +1 -0
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
var __assign = (this && this.__assign) || function () {
|
|
5
|
-
__assign = Object.assign || function(t) {
|
|
6
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
7
|
-
s = arguments[i];
|
|
8
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
9
|
-
t[p] = s[p];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
|
-
return __assign.apply(this, arguments);
|
|
14
|
-
};
|
|
15
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
5
|
exports.signRequest = void 0;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
6
|
+
const getSignedHeaders_1 = require("./utils/getSignedHeaders");
|
|
7
|
+
const getSigningValues_1 = require("./utils/getSigningValues");
|
|
8
|
+
const constants_1 = require("./constants");
|
|
9
|
+
const getSignature_1 = require("./utils/getSignature");
|
|
21
10
|
/**
|
|
22
11
|
* Given a `HttpRequest`, returns a Signature Version 4 signed `HttpRequest`.
|
|
23
12
|
*
|
|
@@ -25,23 +14,23 @@ var getSignature_1 = require("./utils/getSignature");
|
|
|
25
14
|
* @param signRequestOptions `SignRequestOptions` object containing values used to construct the signature.
|
|
26
15
|
* @returns A `HttpRequest` with authentication headers which can grant temporary access to AWS resources.
|
|
27
16
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
17
|
+
const signRequest = (request, options) => {
|
|
18
|
+
const signingValues = (0, getSigningValues_1.getSigningValues)(options);
|
|
19
|
+
const { accessKeyId, credentialScope, longDate, sessionToken } = signingValues;
|
|
31
20
|
// create the request to sign
|
|
32
|
-
|
|
21
|
+
const headers = { ...request.headers };
|
|
33
22
|
headers[constants_1.HOST_HEADER] = request.url.host;
|
|
34
23
|
headers[constants_1.AMZ_DATE_HEADER] = longDate;
|
|
35
24
|
if (sessionToken) {
|
|
36
25
|
headers[constants_1.TOKEN_HEADER] = sessionToken;
|
|
37
26
|
}
|
|
38
|
-
|
|
27
|
+
const requestToSign = { ...request, headers };
|
|
39
28
|
// calculate and add the signature to the request
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
headers[constants_1.AUTH_HEADER] =
|
|
29
|
+
const signature = (0, getSignature_1.getSignature)(requestToSign, signingValues);
|
|
30
|
+
const credentialEntry = `Credential=${accessKeyId}/${credentialScope}`;
|
|
31
|
+
const signedHeadersEntry = `SignedHeaders=${(0, getSignedHeaders_1.getSignedHeaders)(headers)}`;
|
|
32
|
+
const signatureEntry = `Signature=${signature}`;
|
|
33
|
+
headers[constants_1.AUTH_HEADER] = `${constants_1.SHA256_ALGORITHM_IDENTIFIER} ${credentialEntry}, ${signedHeadersEntry}, ${signatureEntry}`;
|
|
45
34
|
return requestToSign;
|
|
46
35
|
};
|
|
47
36
|
exports.signRequest = signRequest;
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getHashedDataAsHex = exports.getHashedData = void 0;
|
|
6
6
|
// TODO: V6 update to different crypto dependency?
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const sha256_js_1 = require("@aws-crypto/sha256-js");
|
|
8
|
+
const util_hex_encoding_1 = require("@smithy/util-hex-encoding");
|
|
9
9
|
/**
|
|
10
10
|
* Returns the hashed data a `Uint8Array`.
|
|
11
11
|
*
|
|
@@ -13,11 +13,11 @@ var util_hex_encoding_1 = require("@smithy/util-hex-encoding");
|
|
|
13
13
|
* @param data Hashable `SourceData`.
|
|
14
14
|
* @returns `Uint8Array` created from the data as input to a hash function.
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const getHashedData = (key, data) => {
|
|
17
|
+
const sha256 = new sha256_js_1.Sha256(key ?? undefined);
|
|
18
18
|
sha256.update(data);
|
|
19
19
|
// TODO: V6 flip to async digest
|
|
20
|
-
|
|
20
|
+
const hashedData = sha256.digestSync();
|
|
21
21
|
return hashedData;
|
|
22
22
|
};
|
|
23
23
|
exports.getHashedData = getHashedData;
|
|
@@ -30,8 +30,8 @@ exports.getHashedData = getHashedData;
|
|
|
30
30
|
*
|
|
31
31
|
* @internal
|
|
32
32
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
const getHashedDataAsHex = (key, data) => {
|
|
34
|
+
const hashedData = (0, exports.getHashedData)(key, data);
|
|
35
35
|
return (0, util_hex_encoding_1.toHex)(hashedData);
|
|
36
36
|
};
|
|
37
37
|
exports.getHashedDataAsHex = getHashedDataAsHex;
|
|
@@ -1,22 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
5
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
6
|
-
if (!m) return o;
|
|
7
|
-
var i = m.call(o), r, ar = [], e;
|
|
8
|
-
try {
|
|
9
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
10
|
-
}
|
|
11
|
-
catch (error) { e = { error: error }; }
|
|
12
|
-
finally {
|
|
13
|
-
try {
|
|
14
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
15
|
-
}
|
|
16
|
-
finally { if (e) throw e.error; }
|
|
17
|
-
}
|
|
18
|
-
return ar;
|
|
19
|
-
};
|
|
20
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
5
|
exports.getCanonicalHeaders = void 0;
|
|
22
6
|
/**
|
|
@@ -30,18 +14,12 @@ exports.getCanonicalHeaders = void 0;
|
|
|
30
14
|
*
|
|
31
15
|
* @internal
|
|
32
16
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
});
|
|
42
|
-
})
|
|
43
|
-
.sort(function (a, b) { return (a.key < b.key ? -1 : 1); })
|
|
44
|
-
.map(function (entry) { return "".concat(entry.key, ":").concat(entry.value, "\n"); })
|
|
45
|
-
.join('');
|
|
46
|
-
};
|
|
17
|
+
const getCanonicalHeaders = (headers) => Object.entries(headers)
|
|
18
|
+
.map(([key, value]) => ({
|
|
19
|
+
key: key.toLowerCase(),
|
|
20
|
+
value: value?.trim().replace(/\s+/g, ' ') ?? '',
|
|
21
|
+
}))
|
|
22
|
+
.sort((a, b) => (a.key < b.key ? -1 : 1))
|
|
23
|
+
.map(entry => `${entry.key}:${entry.value}\n`)
|
|
24
|
+
.join('');
|
|
47
25
|
exports.getCanonicalHeaders = getCanonicalHeaders;
|
|
@@ -1,22 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
5
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
6
|
-
if (!m) return o;
|
|
7
|
-
var i = m.call(o), r, ar = [], e;
|
|
8
|
-
try {
|
|
9
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
10
|
-
}
|
|
11
|
-
catch (error) { e = { error: error }; }
|
|
12
|
-
finally {
|
|
13
|
-
try {
|
|
14
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
15
|
-
}
|
|
16
|
-
finally { if (e) throw e.error; }
|
|
17
|
-
}
|
|
18
|
-
return ar;
|
|
19
|
-
};
|
|
20
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
5
|
exports.getCanonicalQueryString = void 0;
|
|
22
6
|
/**
|
|
@@ -30,26 +14,15 @@ exports.getCanonicalQueryString = void 0;
|
|
|
30
14
|
*
|
|
31
15
|
* @internal
|
|
32
16
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
})
|
|
43
|
-
.map(function (_a) {
|
|
44
|
-
var _b = __read(_a, 2), key = _b[0], val = _b[1];
|
|
45
|
-
return "".concat(escapeUri(key), "=").concat(escapeUri(val));
|
|
46
|
-
})
|
|
47
|
-
.join('&');
|
|
48
|
-
};
|
|
17
|
+
const getCanonicalQueryString = (searchParams) => Array.from(searchParams)
|
|
18
|
+
.sort(([keyA, valA], [keyB, valB]) => {
|
|
19
|
+
if (keyA === keyB) {
|
|
20
|
+
return valA < valB ? -1 : 1;
|
|
21
|
+
}
|
|
22
|
+
return keyA < keyB ? -1 : 1;
|
|
23
|
+
})
|
|
24
|
+
.map(([key, val]) => `${escapeUri(key)}=${escapeUri(val)}`)
|
|
25
|
+
.join('&');
|
|
49
26
|
exports.getCanonicalQueryString = getCanonicalQueryString;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
};
|
|
53
|
-
var hexEncode = function (c) {
|
|
54
|
-
return "%".concat(c.charCodeAt(0).toString(16).toUpperCase());
|
|
55
|
-
};
|
|
27
|
+
const escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);
|
|
28
|
+
const hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getCanonicalRequest = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const getCanonicalHeaders_1 = require("./getCanonicalHeaders");
|
|
7
|
+
const getCanonicalQueryString_1 = require("./getCanonicalQueryString");
|
|
8
|
+
const getCanonicalUri_1 = require("./getCanonicalUri");
|
|
9
|
+
const getHashedPayload_1 = require("./getHashedPayload");
|
|
10
|
+
const getSignedHeaders_1 = require("./getSignedHeaders");
|
|
11
11
|
/**
|
|
12
12
|
* Returns a canonical request.
|
|
13
13
|
*
|
|
@@ -24,16 +24,12 @@ var getSignedHeaders_1 = require("./getSignedHeaders");
|
|
|
24
24
|
*
|
|
25
25
|
* @internal
|
|
26
26
|
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
(0, getSignedHeaders_1.getSignedHeaders)(headers),
|
|
36
|
-
(0, getHashedPayload_1.getHashedPayload)(body),
|
|
37
|
-
].join('\n');
|
|
38
|
-
};
|
|
27
|
+
const getCanonicalRequest = ({ body, headers, method, url }, uriEscapePath = true) => [
|
|
28
|
+
method,
|
|
29
|
+
(0, getCanonicalUri_1.getCanonicalUri)(url.pathname, uriEscapePath),
|
|
30
|
+
(0, getCanonicalQueryString_1.getCanonicalQueryString)(url.searchParams),
|
|
31
|
+
(0, getCanonicalHeaders_1.getCanonicalHeaders)(headers),
|
|
32
|
+
(0, getSignedHeaders_1.getSignedHeaders)(headers),
|
|
33
|
+
(0, getHashedPayload_1.getHashedPayload)(body),
|
|
34
|
+
].join('\n');
|
|
39
35
|
exports.getCanonicalRequest = getCanonicalRequest;
|
|
@@ -14,12 +14,9 @@ exports.getCanonicalUri = void 0;
|
|
|
14
14
|
*
|
|
15
15
|
* @internal
|
|
16
16
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
: pathname
|
|
23
|
-
: '/';
|
|
24
|
-
};
|
|
17
|
+
const getCanonicalUri = (pathname, uriEscapePath = true) => pathname
|
|
18
|
+
? uriEscapePath
|
|
19
|
+
? encodeURIComponent(pathname).replace(/%2F/g, '/')
|
|
20
|
+
: pathname
|
|
21
|
+
: '/';
|
|
25
22
|
exports.getCanonicalUri = getCanonicalUri;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getCredentialScope = void 0;
|
|
6
|
-
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
7
|
/**
|
|
8
8
|
* Returns the credential scope which restricts the resulting signature to the specified region and service.
|
|
9
9
|
*
|
|
@@ -15,5 +15,5 @@ var constants_1 = require("../constants");
|
|
|
15
15
|
*
|
|
16
16
|
* @internal
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
const getCredentialScope = (date, region, service) => `${date}/${region}/${service}/${constants_1.KEY_TYPE_IDENTIFIER}`;
|
|
19
19
|
exports.getCredentialScope = getCredentialScope;
|
|
@@ -13,10 +13,10 @@ exports.getFormattedDates = void 0;
|
|
|
13
13
|
*
|
|
14
14
|
* @internal
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const getFormattedDates = (date) => {
|
|
17
|
+
const longDate = date.toISOString().replace(/[:\-]|\.\d{3}/g, '');
|
|
18
18
|
return {
|
|
19
|
-
longDate
|
|
19
|
+
longDate,
|
|
20
20
|
shortDate: longDate.slice(0, 8),
|
|
21
21
|
};
|
|
22
22
|
};
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getHashedPayload = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const dataHashHelpers_1 = require("./dataHashHelpers");
|
|
8
8
|
/**
|
|
9
9
|
* Returns the hashed payload.
|
|
10
10
|
*
|
|
@@ -14,23 +14,19 @@ var dataHashHelpers_1 = require("./dataHashHelpers");
|
|
|
14
14
|
*
|
|
15
15
|
* @internal
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
const getHashedPayload = (body) => {
|
|
18
18
|
// return precalculated empty hash if body is undefined or null
|
|
19
19
|
if (body == null) {
|
|
20
20
|
return constants_1.EMPTY_HASH;
|
|
21
21
|
}
|
|
22
22
|
if (isSourceData(body)) {
|
|
23
|
-
|
|
23
|
+
const hashedData = (0, dataHashHelpers_1.getHashedDataAsHex)(null, body);
|
|
24
24
|
return hashedData;
|
|
25
25
|
}
|
|
26
26
|
// Defined body is not signable. Return unsigned payload which may or may not be accepted by the service.
|
|
27
27
|
return constants_1.UNSIGNED_PAYLOAD;
|
|
28
28
|
};
|
|
29
29
|
exports.getHashedPayload = getHashedPayload;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var isArrayBuffer = function (arg) {
|
|
34
|
-
return (typeof ArrayBuffer === 'function' && arg instanceof ArrayBuffer) ||
|
|
35
|
-
Object.prototype.toString.call(arg) === '[object ArrayBuffer]';
|
|
36
|
-
};
|
|
30
|
+
const isSourceData = (body) => typeof body === 'string' || ArrayBuffer.isView(body) || isArrayBuffer(body);
|
|
31
|
+
const isArrayBuffer = (arg) => (typeof ArrayBuffer === 'function' && arg instanceof ArrayBuffer) ||
|
|
32
|
+
Object.prototype.toString.call(arg) === '[object ArrayBuffer]';
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getSignature = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
const dataHashHelpers_1 = require("./dataHashHelpers");
|
|
7
|
+
const getCanonicalRequest_1 = require("./getCanonicalRequest");
|
|
8
|
+
const getSigningKey_1 = require("./getSigningKey");
|
|
9
|
+
const getStringToSign_1 = require("./getStringToSign");
|
|
10
10
|
/**
|
|
11
11
|
* Calculates and returns an AWS API Signature.
|
|
12
12
|
* https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html
|
|
@@ -17,16 +17,15 @@ var getStringToSign_1 = require("./getStringToSign");
|
|
|
17
17
|
*
|
|
18
18
|
* @internal
|
|
19
19
|
*/
|
|
20
|
-
|
|
21
|
-
var credentialScope = _a.credentialScope, longDate = _a.longDate, secretAccessKey = _a.secretAccessKey, shortDate = _a.shortDate, signingRegion = _a.signingRegion, signingService = _a.signingService, uriEscapePath = _a.uriEscapePath;
|
|
20
|
+
const getSignature = (request, { credentialScope, longDate, secretAccessKey, shortDate, signingRegion, signingService, uriEscapePath, }) => {
|
|
22
21
|
// step 1: create a canonical request
|
|
23
|
-
|
|
22
|
+
const canonicalRequest = (0, getCanonicalRequest_1.getCanonicalRequest)(request, uriEscapePath);
|
|
24
23
|
// step 2: create a hash of the canonical request
|
|
25
|
-
|
|
24
|
+
const hashedRequest = (0, dataHashHelpers_1.getHashedDataAsHex)(null, canonicalRequest);
|
|
26
25
|
// step 3: create a string to sign
|
|
27
|
-
|
|
26
|
+
const stringToSign = (0, getStringToSign_1.getStringToSign)(longDate, credentialScope, hashedRequest);
|
|
28
27
|
// step 4: calculate the signature
|
|
29
|
-
|
|
28
|
+
const signature = (0, dataHashHelpers_1.getHashedDataAsHex)((0, getSigningKey_1.getSigningKey)(secretAccessKey, shortDate, signingRegion, signingService), stringToSign);
|
|
30
29
|
return signature;
|
|
31
30
|
};
|
|
32
31
|
exports.getSignature = getSignature;
|
|
@@ -12,10 +12,8 @@ exports.getSignedHeaders = void 0;
|
|
|
12
12
|
*
|
|
13
13
|
* @internal
|
|
14
14
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
.join(';');
|
|
20
|
-
};
|
|
15
|
+
const getSignedHeaders = (headers) => Object.keys(headers)
|
|
16
|
+
.map(key => key.toLowerCase())
|
|
17
|
+
.sort()
|
|
18
|
+
.join(';');
|
|
21
19
|
exports.getSignedHeaders = getSignedHeaders;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getSigningKey = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const dataHashHelpers_1 = require("./dataHashHelpers");
|
|
8
8
|
/**
|
|
9
9
|
* Returns a signing key to be used for signing requests.
|
|
10
10
|
*
|
|
@@ -17,12 +17,12 @@ var dataHashHelpers_1 = require("./dataHashHelpers");
|
|
|
17
17
|
*
|
|
18
18
|
* @internal
|
|
19
19
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
const getSigningKey = (secretAccessKey, date, region, service) => {
|
|
21
|
+
const key = `${constants_1.SIGNATURE_IDENTIFIER}${secretAccessKey}`;
|
|
22
|
+
const dateKey = (0, dataHashHelpers_1.getHashedData)(key, date);
|
|
23
|
+
const regionKey = (0, dataHashHelpers_1.getHashedData)(dateKey, region);
|
|
24
|
+
const serviceKey = (0, dataHashHelpers_1.getHashedData)(regionKey, service);
|
|
25
|
+
const signingKey = (0, dataHashHelpers_1.getHashedData)(serviceKey, constants_1.KEY_TYPE_IDENTIFIER);
|
|
26
26
|
return signingKey;
|
|
27
27
|
};
|
|
28
28
|
exports.getSigningKey = getSigningKey;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getSigningValues = void 0;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const getCredentialScope_1 = require("./getCredentialScope");
|
|
7
|
+
const getFormattedDates_1 = require("./getFormattedDates");
|
|
8
8
|
/**
|
|
9
9
|
* Extracts common values used for signing both requests and urls.
|
|
10
10
|
*
|
|
@@ -13,24 +13,23 @@ var getFormattedDates_1 = require("./getFormattedDates");
|
|
|
13
13
|
*
|
|
14
14
|
* @internal
|
|
15
15
|
*/
|
|
16
|
-
|
|
17
|
-
var credentials = _a.credentials, _b = _a.signingDate, signingDate = _b === void 0 ? new Date() : _b, signingRegion = _a.signingRegion, signingService = _a.signingService, _c = _a.uriEscapePath, uriEscapePath = _c === void 0 ? true : _c;
|
|
16
|
+
const getSigningValues = ({ credentials, signingDate = new Date(), signingRegion, signingService, uriEscapePath = true, }) => {
|
|
18
17
|
// get properties from credentials
|
|
19
|
-
|
|
18
|
+
const { accessKeyId, secretAccessKey, sessionToken } = credentials;
|
|
20
19
|
// get formatted dates for signing
|
|
21
|
-
|
|
20
|
+
const { longDate, shortDate } = (0, getFormattedDates_1.getFormattedDates)(signingDate);
|
|
22
21
|
// copy header and set signing properties
|
|
23
|
-
|
|
22
|
+
const credentialScope = (0, getCredentialScope_1.getCredentialScope)(shortDate, signingRegion, signingService);
|
|
24
23
|
return {
|
|
25
|
-
accessKeyId
|
|
26
|
-
credentialScope
|
|
27
|
-
longDate
|
|
28
|
-
secretAccessKey
|
|
29
|
-
sessionToken
|
|
30
|
-
shortDate
|
|
31
|
-
signingRegion
|
|
32
|
-
signingService
|
|
33
|
-
uriEscapePath
|
|
24
|
+
accessKeyId,
|
|
25
|
+
credentialScope,
|
|
26
|
+
longDate,
|
|
27
|
+
secretAccessKey,
|
|
28
|
+
sessionToken,
|
|
29
|
+
shortDate,
|
|
30
|
+
signingRegion,
|
|
31
|
+
signingService,
|
|
32
|
+
uriEscapePath,
|
|
34
33
|
};
|
|
35
34
|
};
|
|
36
35
|
exports.getSigningValues = getSigningValues;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getStringToSign = void 0;
|
|
6
|
-
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
7
|
/**
|
|
8
8
|
* Returns a string to be signed.
|
|
9
9
|
*
|
|
@@ -19,7 +19,5 @@ var constants_1 = require("../constants");
|
|
|
19
19
|
*
|
|
20
20
|
* @internal
|
|
21
21
|
*/
|
|
22
|
-
|
|
23
|
-
return [constants_1.SHA256_ALGORITHM_IDENTIFIER, date, credentialScope, hashedRequest].join('\n');
|
|
24
|
-
};
|
|
22
|
+
const getStringToSign = (date, credentialScope, hashedRequest) => [constants_1.SHA256_ALGORITHM_IDENTIFIER, date, credentialScope, hashedRequest].join('\n');
|
|
25
23
|
exports.getStringToSign = getStringToSign;
|
|
@@ -12,12 +12,10 @@ exports.extendedEncodeURIComponent = void 0;
|
|
|
12
12
|
*
|
|
13
13
|
* @internal
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
const extendedEncodeURIComponent = (uri) => {
|
|
16
16
|
// Match characters normally not encoded by `encodeURIComponent`
|
|
17
|
-
|
|
17
|
+
const extendedCharacters = /[!'()*]/g;
|
|
18
18
|
return encodeURIComponent(uri).replace(extendedCharacters, hexEncode);
|
|
19
19
|
};
|
|
20
20
|
exports.extendedEncodeURIComponent = extendedEncodeURIComponent;
|
|
21
|
-
|
|
22
|
-
return "%".concat(c.charCodeAt(0).toString(16).toUpperCase());
|
|
23
|
-
};
|
|
21
|
+
const hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;
|
|
@@ -12,7 +12,5 @@ exports.getSkewCorrectedDate = void 0;
|
|
|
12
12
|
*
|
|
13
13
|
* @internal
|
|
14
14
|
*/
|
|
15
|
-
|
|
16
|
-
return new Date(Date.now() + systemClockOffset);
|
|
17
|
-
};
|
|
15
|
+
const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);
|
|
18
16
|
exports.getSkewCorrectedDate = getSkewCorrectedDate;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.getUpdatedSystemClockOffset = void 0;
|
|
6
|
-
|
|
6
|
+
const isClockSkewed_1 = require("./isClockSkewed");
|
|
7
7
|
/**
|
|
8
8
|
* Returns the difference between clock time and the current system time if clock is skewed.
|
|
9
9
|
*
|
|
@@ -12,7 +12,7 @@ var isClockSkewed_1 = require("./isClockSkewed");
|
|
|
12
12
|
*
|
|
13
13
|
* @internal
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
const getUpdatedSystemClockOffset = (clockTimeInMilliseconds, currentSystemClockOffset) => {
|
|
16
16
|
if ((0, isClockSkewed_1.isClockSkewed)(clockTimeInMilliseconds, currentSystemClockOffset)) {
|
|
17
17
|
return clockTimeInMilliseconds - Date.now();
|
|
18
18
|
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.isClockSkewed = void 0;
|
|
6
|
-
|
|
6
|
+
const getSkewCorrectedDate_1 = require("./getSkewCorrectedDate");
|
|
7
7
|
// 5 mins in milliseconds. Ref: https://github.com/aws/aws-sdk-js-v3/blob/6c0f44fab30a1bb2134af47362a31332abc3666b/packages/middleware-signing/src/utils/isClockSkewed.ts#L10
|
|
8
|
-
|
|
8
|
+
const SKEW_WINDOW = 5 * 60 * 1000;
|
|
9
9
|
/**
|
|
10
10
|
* Checks if the provided date is within the skew window of 5 minutes.
|
|
11
11
|
*
|
|
@@ -16,8 +16,6 @@ var SKEW_WINDOW = 5 * 60 * 1000;
|
|
|
16
16
|
*
|
|
17
17
|
* @internal
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
clockTimeInMilliseconds) >= SKEW_WINDOW;
|
|
22
|
-
};
|
|
19
|
+
const isClockSkewed = (clockTimeInMilliseconds, clockOffsetInMilliseconds) => Math.abs((0, getSkewCorrectedDate_1.getSkewCorrectedDate)(clockOffsetInMilliseconds).getTime() -
|
|
20
|
+
clockTimeInMilliseconds) >= SKEW_WINDOW;
|
|
23
21
|
exports.isClockSkewed = isClockSkewed;
|