UNPKG

@aws-sdk/middleware-signing

Version:

[![NPM version](https://img.shields.io/npm/v/@aws-sdk/middleware-signing/latest.svg)](https://www.npmjs.com/package/@aws-sdk/middleware-signing) [![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/middleware-signing.svg)](https://www.npmjs.com/packag

126 lines (125 loc) 4.09 kB
import { SignatureV4CryptoInit, SignatureV4Init } from "@smithy/signature-v4"; import { AuthScheme, AwsCredentialIdentity, ChecksumConstructor, HashConstructor, Logger, MemoizedProvider, Provider, RegionInfoProvider, RequestSigner } from "@smithy/types"; /** * @public * @deprecated only used in legacy auth. */ export interface AwsAuthInputConfig { /** * The credentials used to sign requests. */ credentials?: AwsCredentialIdentity | Provider<AwsCredentialIdentity>; /** * The signer to use when signing requests. */ signer?: RequestSigner | ((authScheme?: AuthScheme) => Promise<RequestSigner>); /** * Whether to escape request path when signing the request. */ signingEscapePath?: boolean; /** * An offset value in milliseconds to apply to all signing times. */ systemClockOffset?: number; /** * The region where you want to sign your request against. This * can be different to the region in the endpoint. */ signingRegion?: string; /** * The injectable SigV4-compatible signer class constructor. If not supplied, * regular SignatureV4 constructor will be used. * * @internal */ signerConstructor?: new (options: SignatureV4Init & SignatureV4CryptoInit) => RequestSigner; } /** * @public * @deprecated only used in legacy auth. */ export interface SigV4AuthInputConfig { /** * The credentials used to sign requests. */ credentials?: AwsCredentialIdentity | Provider<AwsCredentialIdentity>; /** * The signer to use when signing requests. */ signer?: RequestSigner | ((authScheme?: AuthScheme) => Promise<RequestSigner>); /** * Whether to escape request path when signing the request. */ signingEscapePath?: boolean; /** * An offset value in milliseconds to apply to all signing times. */ systemClockOffset?: number; } /** * @internal * @deprecated only used in legacy auth. */ interface PreviouslyResolved { credentialDefaultProvider: (input: any) => MemoizedProvider<AwsCredentialIdentity>; region: string | Provider<string>; regionInfoProvider?: RegionInfoProvider; signingName?: string; defaultSigningName?: string; serviceId: string; sha256: ChecksumConstructor | HashConstructor; useFipsEndpoint: Provider<boolean>; useDualstackEndpoint: Provider<boolean>; } /** * @internal * @deprecated only used in legacy auth. */ interface SigV4PreviouslyResolved { credentialDefaultProvider: (input: any) => MemoizedProvider<AwsCredentialIdentity>; region: string | Provider<string>; signingName: string; sha256: ChecksumConstructor | HashConstructor; logger?: Logger; } /** * @internal * @deprecated only used in legacy auth. */ export interface AwsAuthResolvedConfig { /** * Resolved value for input config {@link AwsAuthInputConfig.credentials} * This provider MAY memoize the loaded credentials for certain period. * See {@link MemoizedProvider} for more information. */ credentials: MemoizedProvider<AwsCredentialIdentity>; /** * Resolved value for input config {@link AwsAuthInputConfig.signer} */ signer: (authScheme?: AuthScheme) => Promise<RequestSigner>; /** * Resolved value for input config {@link AwsAuthInputConfig.signingEscapePath} */ signingEscapePath: boolean; /** * Resolved value for input config {@link AwsAuthInputConfig.systemClockOffset} */ systemClockOffset: number; } /** * @internal * @deprecated only used in legacy auth. */ export interface SigV4AuthResolvedConfig extends AwsAuthResolvedConfig { } /** * @internal * @deprecated only used in legacy auth. */ export declare const resolveAwsAuthConfig: <T>(input: T & AwsAuthInputConfig & PreviouslyResolved) => T & AwsAuthResolvedConfig; /** * @internal * @deprecated only used in legacy auth. */ export declare const resolveSigV4AuthConfig: <T>(input: T & SigV4AuthInputConfig & SigV4PreviouslyResolved) => T & SigV4AuthResolvedConfig; export {};