UNPKG

4.09 kBTypeScriptView Raw
1import { SignatureV4CryptoInit, SignatureV4Init } from "@smithy/signature-v4";
2import { AuthScheme, AwsCredentialIdentity, ChecksumConstructor, HashConstructor, Logger, MemoizedProvider, Provider, RegionInfoProvider, RequestSigner } from "@smithy/types";
3/**
4 * @public
5 * @deprecated only used in legacy auth.
6 */
7export interface AwsAuthInputConfig {
8 /**
9 * The credentials used to sign requests.
10 */
11 credentials?: AwsCredentialIdentity | Provider<AwsCredentialIdentity>;
12 /**
13 * The signer to use when signing requests.
14 */
15 signer?: RequestSigner | ((authScheme?: AuthScheme) => Promise<RequestSigner>);
16 /**
17 * Whether to escape request path when signing the request.
18 */
19 signingEscapePath?: boolean;
20 /**
21 * An offset value in milliseconds to apply to all signing times.
22 */
23 systemClockOffset?: number;
24 /**
25 * The region where you want to sign your request against. This
26 * can be different to the region in the endpoint.
27 */
28 signingRegion?: string;
29 /**
30 * The injectable SigV4-compatible signer class constructor. If not supplied,
31 * regular SignatureV4 constructor will be used.
32 *
33 * @internal
34 */
35 signerConstructor?: new (options: SignatureV4Init & SignatureV4CryptoInit) => RequestSigner;
36}
37/**
38 * @public
39 * @deprecated only used in legacy auth.
40 */
41export interface SigV4AuthInputConfig {
42 /**
43 * The credentials used to sign requests.
44 */
45 credentials?: AwsCredentialIdentity | Provider<AwsCredentialIdentity>;
46 /**
47 * The signer to use when signing requests.
48 */
49 signer?: RequestSigner | ((authScheme?: AuthScheme) => Promise<RequestSigner>);
50 /**
51 * Whether to escape request path when signing the request.
52 */
53 signingEscapePath?: boolean;
54 /**
55 * An offset value in milliseconds to apply to all signing times.
56 */
57 systemClockOffset?: number;
58}
59/**
60 * @internal
61 * @deprecated only used in legacy auth.
62 */
63interface PreviouslyResolved {
64 credentialDefaultProvider: (input: any) => MemoizedProvider<AwsCredentialIdentity>;
65 region: string | Provider<string>;
66 regionInfoProvider?: RegionInfoProvider;
67 signingName?: string;
68 defaultSigningName?: string;
69 serviceId: string;
70 sha256: ChecksumConstructor | HashConstructor;
71 useFipsEndpoint: Provider<boolean>;
72 useDualstackEndpoint: Provider<boolean>;
73}
74/**
75 * @internal
76 * @deprecated only used in legacy auth.
77 */
78interface SigV4PreviouslyResolved {
79 credentialDefaultProvider: (input: any) => MemoizedProvider<AwsCredentialIdentity>;
80 region: string | Provider<string>;
81 signingName: string;
82 sha256: ChecksumConstructor | HashConstructor;
83 logger?: Logger;
84}
85/**
86 * @internal
87 * @deprecated only used in legacy auth.
88 */
89export interface AwsAuthResolvedConfig {
90 /**
91 * Resolved value for input config {@link AwsAuthInputConfig.credentials}
92 * This provider MAY memoize the loaded credentials for certain period.
93 * See {@link MemoizedProvider} for more information.
94 */
95 credentials: MemoizedProvider<AwsCredentialIdentity>;
96 /**
97 * Resolved value for input config {@link AwsAuthInputConfig.signer}
98 */
99 signer: (authScheme?: AuthScheme) => Promise<RequestSigner>;
100 /**
101 * Resolved value for input config {@link AwsAuthInputConfig.signingEscapePath}
102 */
103 signingEscapePath: boolean;
104 /**
105 * Resolved value for input config {@link AwsAuthInputConfig.systemClockOffset}
106 */
107 systemClockOffset: number;
108}
109/**
110 * @internal
111 * @deprecated only used in legacy auth.
112 */
113export interface SigV4AuthResolvedConfig extends AwsAuthResolvedConfig {
114}
115/**
116 * @internal
117 * @deprecated only used in legacy auth.
118 */
119export declare const resolveAwsAuthConfig: <T>(input: T & AwsAuthInputConfig & PreviouslyResolved) => T & AwsAuthResolvedConfig;
120/**
121 * @internal
122 * @deprecated only used in legacy auth.
123 */
124export declare const resolveSigV4AuthConfig: <T>(input: T & SigV4AuthInputConfig & SigV4PreviouslyResolved) => T & SigV4AuthResolvedConfig;
125export {};