@aws-sdk/client-sso-oidc 3.511.0 → 3.515.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.
@@ -0,0 +1 @@
1
+ module.exports = require("../index.js");
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveHttpAuthSchemeConfig = exports.defaultSSOOIDCHttpAuthSchemeProvider = exports.defaultSSOOIDCHttpAuthSchemeParametersProvider = void 0;
4
+ const core_1 = require("@aws-sdk/core");
5
+ const util_middleware_1 = require("@smithy/util-middleware");
6
+ const defaultSSOOIDCHttpAuthSchemeParametersProvider = async (config, context, input) => {
7
+ return {
8
+ operation: (0, util_middleware_1.getSmithyContext)(context).operation,
9
+ region: (await (0, util_middleware_1.normalizeProvider)(config.region)()) ||
10
+ (() => {
11
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
12
+ })(),
13
+ };
14
+ };
15
+ exports.defaultSSOOIDCHttpAuthSchemeParametersProvider = defaultSSOOIDCHttpAuthSchemeParametersProvider;
16
+ function createAwsAuthSigv4HttpAuthOption(authParameters) {
17
+ return {
18
+ schemeId: "aws.auth#sigv4",
19
+ signingProperties: {
20
+ name: "sso-oauth",
21
+ region: authParameters.region,
22
+ },
23
+ propertiesExtractor: (config, context) => ({
24
+ signingProperties: {
25
+ config,
26
+ context,
27
+ },
28
+ }),
29
+ };
30
+ }
31
+ function createSmithyApiNoAuthHttpAuthOption(authParameters) {
32
+ return {
33
+ schemeId: "smithy.api#noAuth",
34
+ };
35
+ }
36
+ const defaultSSOOIDCHttpAuthSchemeProvider = (authParameters) => {
37
+ const options = [];
38
+ switch (authParameters.operation) {
39
+ case "CreateToken": {
40
+ options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
41
+ break;
42
+ }
43
+ case "RegisterClient": {
44
+ options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
45
+ break;
46
+ }
47
+ case "StartDeviceAuthorization": {
48
+ options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
49
+ break;
50
+ }
51
+ default: {
52
+ options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
53
+ }
54
+ }
55
+ return options;
56
+ };
57
+ exports.defaultSSOOIDCHttpAuthSchemeProvider = defaultSSOOIDCHttpAuthSchemeProvider;
58
+ const resolveHttpAuthSchemeConfig = (config) => {
59
+ const config_0 = (0, core_1.resolveAwsSdkSigV4Config)(config);
60
+ return {
61
+ ...config_0,
62
+ };
63
+ };
64
+ exports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;
package/dist-cjs/index.js CHANGED
@@ -55,13 +55,14 @@ module.exports = __toCommonJS(src_exports);
55
55
  var import_middleware_host_header = require("@aws-sdk/middleware-host-header");
56
56
  var import_middleware_logger = require("@aws-sdk/middleware-logger");
57
57
  var import_middleware_recursion_detection = require("@aws-sdk/middleware-recursion-detection");
58
- var import_middleware_signing = require("@aws-sdk/middleware-signing");
59
58
  var import_middleware_user_agent = require("@aws-sdk/middleware-user-agent");
60
59
  var import_config_resolver = require("@smithy/config-resolver");
60
+ var import_core = require("@smithy/core");
61
61
  var import_middleware_content_length = require("@smithy/middleware-content-length");
62
62
  var import_middleware_endpoint = require("@smithy/middleware-endpoint");
63
63
  var import_middleware_retry = require("@smithy/middleware-retry");
64
64
 
65
+ var import_httpAuthSchemeProvider = require("./auth/httpAuthSchemeProvider");
65
66
 
66
67
  // src/endpoint/EndpointParameters.ts
67
68
  var resolveClientEndpointParameters = /* @__PURE__ */ __name((options) => {
@@ -86,19 +87,62 @@ var import_runtimeConfig = require("././runtimeConfig");
86
87
  var import_region_config_resolver = require("@aws-sdk/region-config-resolver");
87
88
  var import_protocol_http = require("@smithy/protocol-http");
88
89
  var import_smithy_client = require("@smithy/smithy-client");
90
+
91
+ // src/auth/httpAuthExtensionConfiguration.ts
92
+ var getHttpAuthExtensionConfiguration = /* @__PURE__ */ __name((runtimeConfig) => {
93
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
94
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
95
+ let _credentials = runtimeConfig.credentials;
96
+ return {
97
+ setHttpAuthScheme(httpAuthScheme) {
98
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
99
+ if (index === -1) {
100
+ _httpAuthSchemes.push(httpAuthScheme);
101
+ } else {
102
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
103
+ }
104
+ },
105
+ httpAuthSchemes() {
106
+ return _httpAuthSchemes;
107
+ },
108
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
109
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
110
+ },
111
+ httpAuthSchemeProvider() {
112
+ return _httpAuthSchemeProvider;
113
+ },
114
+ setCredentials(credentials) {
115
+ _credentials = credentials;
116
+ },
117
+ credentials() {
118
+ return _credentials;
119
+ }
120
+ };
121
+ }, "getHttpAuthExtensionConfiguration");
122
+ var resolveHttpAuthRuntimeConfig = /* @__PURE__ */ __name((config) => {
123
+ return {
124
+ httpAuthSchemes: config.httpAuthSchemes(),
125
+ httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
126
+ credentials: config.credentials()
127
+ };
128
+ }, "resolveHttpAuthRuntimeConfig");
129
+
130
+ // src/runtimeExtensions.ts
89
131
  var asPartial = /* @__PURE__ */ __name((t) => t, "asPartial");
90
132
  var resolveRuntimeExtensions = /* @__PURE__ */ __name((runtimeConfig, extensions) => {
91
133
  const extensionConfiguration = {
92
134
  ...asPartial((0, import_region_config_resolver.getAwsRegionExtensionConfiguration)(runtimeConfig)),
93
135
  ...asPartial((0, import_smithy_client.getDefaultExtensionConfiguration)(runtimeConfig)),
94
- ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig))
136
+ ...asPartial((0, import_protocol_http.getHttpHandlerExtensionConfiguration)(runtimeConfig)),
137
+ ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig))
95
138
  };
96
139
  extensions.forEach((extension) => extension.configure(extensionConfiguration));
97
140
  return {
98
141
  ...runtimeConfig,
99
142
  ...(0, import_region_config_resolver.resolveAwsRegionExtensionConfiguration)(extensionConfiguration),
100
143
  ...(0, import_smithy_client.resolveDefaultRuntimeConfig)(extensionConfiguration),
101
- ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration)
144
+ ...(0, import_protocol_http.resolveHttpHandlerRuntimeConfig)(extensionConfiguration),
145
+ ...resolveHttpAuthRuntimeConfig(extensionConfiguration)
102
146
  };
103
147
  }, "resolveRuntimeExtensions");
104
148
 
@@ -111,8 +155,8 @@ var _SSOOIDCClient = class _SSOOIDCClient extends import_smithy_client.Client {
111
155
  const _config_3 = (0, import_middleware_endpoint.resolveEndpointConfig)(_config_2);
112
156
  const _config_4 = (0, import_middleware_retry.resolveRetryConfig)(_config_3);
113
157
  const _config_5 = (0, import_middleware_host_header.resolveHostHeaderConfig)(_config_4);
114
- const _config_6 = (0, import_middleware_signing.resolveAwsAuthConfig)(_config_5);
115
- const _config_7 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_6);
158
+ const _config_6 = (0, import_middleware_user_agent.resolveUserAgentConfig)(_config_5);
159
+ const _config_7 = (0, import_httpAuthSchemeProvider.resolveHttpAuthSchemeConfig)(_config_6);
116
160
  const _config_8 = resolveRuntimeExtensions(_config_7, (configuration == null ? void 0 : configuration.extensions) || []);
117
161
  super(_config_8);
118
162
  this.config = _config_8;
@@ -122,6 +166,13 @@ var _SSOOIDCClient = class _SSOOIDCClient extends import_smithy_client.Client {
122
166
  this.middlewareStack.use((0, import_middleware_logger.getLoggerPlugin)(this.config));
123
167
  this.middlewareStack.use((0, import_middleware_recursion_detection.getRecursionDetectionPlugin)(this.config));
124
168
  this.middlewareStack.use((0, import_middleware_user_agent.getUserAgentPlugin)(this.config));
169
+ this.middlewareStack.use(
170
+ (0, import_core.getHttpAuthSchemeEndpointRuleSetPlugin)(this.config, {
171
+ httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
172
+ identityProviderConfigProvider: this.getIdentityProviderConfigProvider()
173
+ })
174
+ );
175
+ this.middlewareStack.use((0, import_core.getHttpSigningPlugin)(this.config));
125
176
  }
126
177
  /**
127
178
  * Destroy underlying resources, like sockets. It's usually not necessary to do this.
@@ -131,6 +182,14 @@ var _SSOOIDCClient = class _SSOOIDCClient extends import_smithy_client.Client {
131
182
  destroy() {
132
183
  super.destroy();
133
184
  }
185
+ getDefaultHttpAuthSchemeParametersProvider() {
186
+ return import_httpAuthSchemeProvider.defaultSSOOIDCHttpAuthSchemeParametersProvider;
187
+ }
188
+ getIdentityProviderConfigProvider() {
189
+ return async (config) => new import_core.DefaultIdentityProviderConfig({
190
+ "aws.auth#sigv4": config.credentials
191
+ });
192
+ }
134
193
  };
135
194
  __name(_SSOOIDCClient, "SSOOIDCClient");
136
195
  var SSOOIDCClient = _SSOOIDCClient;
@@ -444,7 +503,7 @@ var StartDeviceAuthorizationRequestFilterSensitiveLog = /* @__PURE__ */ __name((
444
503
  }), "StartDeviceAuthorizationRequestFilterSensitiveLog");
445
504
 
446
505
  // src/protocols/Aws_restJson1.ts
447
- var import_core = require("@smithy/core");
506
+
448
507
 
449
508
  var se_CreateTokenCommand = /* @__PURE__ */ __name(async (input, context) => {
450
509
  const b = (0, import_core.requestBuilder)(input, context);
@@ -912,14 +971,12 @@ var CreateTokenCommand = _CreateTokenCommand;
912
971
 
913
972
 
914
973
 
915
-
916
974
  var _CreateTokenWithIAMCommand = class _CreateTokenWithIAMCommand extends import_smithy_client.Command.classBuilder().ep({
917
975
  ...commonParams
918
976
  }).m(function(Command, cs, config, o) {
919
977
  return [
920
978
  (0, import_middleware_serde.getSerdePlugin)(config, this.serialize, this.deserialize),
921
- (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions()),
922
- (0, import_middleware_signing.getAwsAuthPlugin)(config)
979
+ (0, import_middleware_endpoint.getEndpointPlugin)(config, Command.getEndpointParameterInstructions())
923
980
  ];
924
981
  }).s("AWSSSOOIDCService", "CreateTokenWithIAM", {}).n("SSOOIDCClient", "CreateTokenWithIAMCommand").f(CreateTokenWithIAMRequestFilterSensitiveLog, CreateTokenWithIAMResponseFilterSensitiveLog).ser(se_CreateTokenWithIAMCommand).de(de_CreateTokenWithIAMCommand).build() {
925
982
  };
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getRuntimeConfig = void 0;
4
+ const core_1 = require("@aws-sdk/core");
5
+ const core_2 = require("@smithy/core");
4
6
  const smithy_client_1 = require("@smithy/smithy-client");
5
7
  const url_parser_1 = require("@smithy/url-parser");
6
8
  const util_base64_1 = require("@smithy/util-base64");
7
9
  const util_utf8_1 = require("@smithy/util-utf8");
10
+ const httpAuthSchemeProvider_1 = require("./auth/httpAuthSchemeProvider");
8
11
  const endpointResolver_1 = require("./endpoint/endpointResolver");
9
12
  const getRuntimeConfig = (config) => {
10
13
  return {
@@ -14,6 +17,19 @@ const getRuntimeConfig = (config) => {
14
17
  disableHostPrefix: config?.disableHostPrefix ?? false,
15
18
  endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,
16
19
  extensions: config?.extensions ?? [],
20
+ httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSSOOIDCHttpAuthSchemeProvider,
21
+ httpAuthSchemes: config?.httpAuthSchemes ?? [
22
+ {
23
+ schemeId: "aws.auth#sigv4",
24
+ identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
25
+ signer: new core_1.AwsSdkSigV4Signer(),
26
+ },
27
+ {
28
+ schemeId: "smithy.api#noAuth",
29
+ identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})),
30
+ signer: new core_2.NoAuthSigner(),
31
+ },
32
+ ],
17
33
  logger: config?.logger ?? new smithy_client_1.NoOpLogger(),
18
34
  serviceId: config?.serviceId ?? "SSO OIDC",
19
35
  urlParser: config?.urlParser ?? url_parser_1.parseUrl,
@@ -1,13 +1,14 @@
1
1
  import { getHostHeaderPlugin, resolveHostHeaderConfig, } from "@aws-sdk/middleware-host-header";
2
2
  import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
3
3
  import { getRecursionDetectionPlugin } from "@aws-sdk/middleware-recursion-detection";
4
- import { resolveAwsAuthConfig } from "@aws-sdk/middleware-signing";
5
4
  import { getUserAgentPlugin, resolveUserAgentConfig, } from "@aws-sdk/middleware-user-agent";
6
5
  import { resolveRegionConfig } from "@smithy/config-resolver";
6
+ import { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from "@smithy/core";
7
7
  import { getContentLengthPlugin } from "@smithy/middleware-content-length";
8
8
  import { resolveEndpointConfig } from "@smithy/middleware-endpoint";
9
9
  import { getRetryPlugin, resolveRetryConfig } from "@smithy/middleware-retry";
10
10
  import { Client as __Client, } from "@smithy/smithy-client";
11
+ import { defaultSSOOIDCHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from "./auth/httpAuthSchemeProvider";
11
12
  import { resolveClientEndpointParameters, } from "./endpoint/EndpointParameters";
12
13
  import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
13
14
  import { resolveRuntimeExtensions } from "./runtimeExtensions";
@@ -20,8 +21,8 @@ export class SSOOIDCClient extends __Client {
20
21
  const _config_3 = resolveEndpointConfig(_config_2);
21
22
  const _config_4 = resolveRetryConfig(_config_3);
22
23
  const _config_5 = resolveHostHeaderConfig(_config_4);
23
- const _config_6 = resolveAwsAuthConfig(_config_5);
24
- const _config_7 = resolveUserAgentConfig(_config_6);
24
+ const _config_6 = resolveUserAgentConfig(_config_5);
25
+ const _config_7 = resolveHttpAuthSchemeConfig(_config_6);
25
26
  const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
26
27
  super(_config_8);
27
28
  this.config = _config_8;
@@ -31,8 +32,21 @@ export class SSOOIDCClient extends __Client {
31
32
  this.middlewareStack.use(getLoggerPlugin(this.config));
32
33
  this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
33
34
  this.middlewareStack.use(getUserAgentPlugin(this.config));
35
+ this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
36
+ httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
37
+ identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),
38
+ }));
39
+ this.middlewareStack.use(getHttpSigningPlugin(this.config));
34
40
  }
35
41
  destroy() {
36
42
  super.destroy();
37
43
  }
44
+ getDefaultHttpAuthSchemeParametersProvider() {
45
+ return defaultSSOOIDCHttpAuthSchemeParametersProvider;
46
+ }
47
+ getIdentityProviderConfigProvider() {
48
+ return async (config) => new DefaultIdentityProviderConfig({
49
+ "aws.auth#sigv4": config.credentials,
50
+ });
51
+ }
38
52
  }
@@ -0,0 +1,38 @@
1
+ export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {
2
+ const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;
3
+ let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;
4
+ let _credentials = runtimeConfig.credentials;
5
+ return {
6
+ setHttpAuthScheme(httpAuthScheme) {
7
+ const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
8
+ if (index === -1) {
9
+ _httpAuthSchemes.push(httpAuthScheme);
10
+ }
11
+ else {
12
+ _httpAuthSchemes.splice(index, 1, httpAuthScheme);
13
+ }
14
+ },
15
+ httpAuthSchemes() {
16
+ return _httpAuthSchemes;
17
+ },
18
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider) {
19
+ _httpAuthSchemeProvider = httpAuthSchemeProvider;
20
+ },
21
+ httpAuthSchemeProvider() {
22
+ return _httpAuthSchemeProvider;
23
+ },
24
+ setCredentials(credentials) {
25
+ _credentials = credentials;
26
+ },
27
+ credentials() {
28
+ return _credentials;
29
+ },
30
+ };
31
+ };
32
+ export const resolveHttpAuthRuntimeConfig = (config) => {
33
+ return {
34
+ httpAuthSchemes: config.httpAuthSchemes(),
35
+ httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
36
+ credentials: config.credentials(),
37
+ };
38
+ };
@@ -0,0 +1,58 @@
1
+ import { resolveAwsSdkSigV4Config, } from "@aws-sdk/core";
2
+ import { getSmithyContext, normalizeProvider } from "@smithy/util-middleware";
3
+ export const defaultSSOOIDCHttpAuthSchemeParametersProvider = async (config, context, input) => {
4
+ return {
5
+ operation: getSmithyContext(context).operation,
6
+ region: (await normalizeProvider(config.region)()) ||
7
+ (() => {
8
+ throw new Error("expected `region` to be configured for `aws.auth#sigv4`");
9
+ })(),
10
+ };
11
+ };
12
+ function createAwsAuthSigv4HttpAuthOption(authParameters) {
13
+ return {
14
+ schemeId: "aws.auth#sigv4",
15
+ signingProperties: {
16
+ name: "sso-oauth",
17
+ region: authParameters.region,
18
+ },
19
+ propertiesExtractor: (config, context) => ({
20
+ signingProperties: {
21
+ config,
22
+ context,
23
+ },
24
+ }),
25
+ };
26
+ }
27
+ function createSmithyApiNoAuthHttpAuthOption(authParameters) {
28
+ return {
29
+ schemeId: "smithy.api#noAuth",
30
+ };
31
+ }
32
+ export const defaultSSOOIDCHttpAuthSchemeProvider = (authParameters) => {
33
+ const options = [];
34
+ switch (authParameters.operation) {
35
+ case "CreateToken": {
36
+ options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
37
+ break;
38
+ }
39
+ case "RegisterClient": {
40
+ options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
41
+ break;
42
+ }
43
+ case "StartDeviceAuthorization": {
44
+ options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));
45
+ break;
46
+ }
47
+ default: {
48
+ options.push(createAwsAuthSigv4HttpAuthOption(authParameters));
49
+ }
50
+ }
51
+ return options;
52
+ };
53
+ export const resolveHttpAuthSchemeConfig = (config) => {
54
+ const config_0 = resolveAwsSdkSigV4Config(config);
55
+ return {
56
+ ...config_0,
57
+ };
58
+ };
@@ -1,4 +1,3 @@
1
- import { getAwsAuthPlugin } from "@aws-sdk/middleware-signing";
2
1
  import { getEndpointPlugin } from "@smithy/middleware-endpoint";
3
2
  import { getSerdePlugin } from "@smithy/middleware-serde";
4
3
  import { Command as $Command } from "@smithy/smithy-client";
@@ -15,7 +14,6 @@ export class CreateTokenWithIAMCommand extends $Command
15
14
  return [
16
15
  getSerdePlugin(config, this.serialize, this.deserialize),
17
16
  getEndpointPlugin(config, Command.getEndpointParameterInstructions()),
18
- getAwsAuthPlugin(config),
19
17
  ];
20
18
  })
21
19
  .s("AWSSSOOIDCService", "CreateTokenWithIAM", {})
@@ -1,7 +1,10 @@
1
+ import { AwsSdkSigV4Signer } from "@aws-sdk/core";
2
+ import { NoAuthSigner } from "@smithy/core";
1
3
  import { NoOpLogger } from "@smithy/smithy-client";
2
4
  import { parseUrl } from "@smithy/url-parser";
3
5
  import { fromBase64, toBase64 } from "@smithy/util-base64";
4
6
  import { fromUtf8, toUtf8 } from "@smithy/util-utf8";
7
+ import { defaultSSOOIDCHttpAuthSchemeProvider } from "./auth/httpAuthSchemeProvider";
5
8
  import { defaultEndpointResolver } from "./endpoint/endpointResolver";
6
9
  export const getRuntimeConfig = (config) => {
7
10
  return {
@@ -11,6 +14,19 @@ export const getRuntimeConfig = (config) => {
11
14
  disableHostPrefix: config?.disableHostPrefix ?? false,
12
15
  endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,
13
16
  extensions: config?.extensions ?? [],
17
+ httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSSOOIDCHttpAuthSchemeProvider,
18
+ httpAuthSchemes: config?.httpAuthSchemes ?? [
19
+ {
20
+ schemeId: "aws.auth#sigv4",
21
+ identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"),
22
+ signer: new AwsSdkSigV4Signer(),
23
+ },
24
+ {
25
+ schemeId: "smithy.api#noAuth",
26
+ identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})),
27
+ signer: new NoAuthSigner(),
28
+ },
29
+ ],
14
30
  logger: config?.logger ?? new NoOpLogger(),
15
31
  serviceId: config?.serviceId ?? "SSO OIDC",
16
32
  urlParser: config?.urlParser ?? parseUrl,
@@ -1,12 +1,14 @@
1
1
  import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from "@aws-sdk/region-config-resolver";
2
2
  import { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from "@smithy/protocol-http";
3
3
  import { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from "@smithy/smithy-client";
4
+ import { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from "./auth/httpAuthExtensionConfiguration";
4
5
  const asPartial = (t) => t;
5
6
  export const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
6
7
  const extensionConfiguration = {
7
8
  ...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),
8
9
  ...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),
9
10
  ...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),
11
+ ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)),
10
12
  };
11
13
  extensions.forEach((extension) => extension.configure(extensionConfiguration));
12
14
  return {
@@ -14,5 +16,6 @@ export const resolveRuntimeExtensions = (runtimeConfig, extensions) => {
14
16
  ...resolveAwsRegionExtensionConfiguration(extensionConfiguration),
15
17
  ...resolveDefaultRuntimeConfig(extensionConfiguration),
16
18
  ...resolveHttpHandlerRuntimeConfig(extensionConfiguration),
19
+ ...resolveHttpAuthRuntimeConfig(extensionConfiguration),
17
20
  };
18
21
  };
@@ -1,13 +1,12 @@
1
1
  import { HostHeaderInputConfig, HostHeaderResolvedConfig } from "@aws-sdk/middleware-host-header";
2
- import { AwsAuthInputConfig, AwsAuthResolvedConfig } from "@aws-sdk/middleware-signing";
3
2
  import { UserAgentInputConfig, UserAgentResolvedConfig } from "@aws-sdk/middleware-user-agent";
4
- import { Credentials as __Credentials } from "@aws-sdk/types";
5
3
  import { RegionInputConfig, RegionResolvedConfig } from "@smithy/config-resolver";
6
4
  import { EndpointInputConfig, EndpointResolvedConfig } from "@smithy/middleware-endpoint";
7
5
  import { RetryInputConfig, RetryResolvedConfig } from "@smithy/middleware-retry";
8
6
  import { HttpHandler as __HttpHandler } from "@smithy/protocol-http";
9
7
  import { Client as __Client, DefaultsMode as __DefaultsMode, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@smithy/smithy-client";
10
- import { BodyLengthCalculator as __BodyLengthCalculator, CheckOptionalClientConfig as __CheckOptionalClientConfig, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@smithy/types";
8
+ import { AwsCredentialIdentityProvider, BodyLengthCalculator as __BodyLengthCalculator, CheckOptionalClientConfig as __CheckOptionalClientConfig, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@smithy/types";
9
+ import { HttpAuthSchemeInputConfig, HttpAuthSchemeResolvedConfig } from "./auth/httpAuthSchemeProvider";
11
10
  import { CreateTokenCommandInput, CreateTokenCommandOutput } from "./commands/CreateTokenCommand";
12
11
  import { CreateTokenWithIAMCommandInput, CreateTokenWithIAMCommandOutput } from "./commands/CreateTokenWithIAMCommand";
13
12
  import { RegisterClientCommandInput, RegisterClientCommandOutput } from "./commands/RegisterClientCommand";
@@ -95,20 +94,21 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
95
94
  * Enables FIPS compatible endpoints.
96
95
  */
97
96
  useFipsEndpoint?: boolean | __Provider<boolean>;
97
+ /**
98
+ * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
99
+ * @internal
100
+ */
101
+ defaultUserAgentProvider?: Provider<__UserAgent>;
98
102
  /**
99
103
  * The AWS region to which this client will send requests
100
104
  */
101
105
  region?: string | __Provider<string>;
102
106
  /**
103
107
  * Default credentials provider; Not available in browser runtime.
108
+ * @deprecated
104
109
  * @internal
105
110
  */
106
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
107
- /**
108
- * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
109
- * @internal
110
- */
111
- defaultUserAgentProvider?: Provider<__UserAgent>;
111
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
112
112
  /**
113
113
  * Value for how many times a request will be made at most in case of retry.
114
114
  */
@@ -135,7 +135,7 @@ export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__
135
135
  /**
136
136
  * @public
137
137
  */
138
- export type SSOOIDCClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig & ClientInputEndpointParameters;
138
+ export type SSOOIDCClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & RegionInputConfig & EndpointInputConfig<EndpointParameters> & RetryInputConfig & HostHeaderInputConfig & UserAgentInputConfig & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
139
139
  /**
140
140
  * @public
141
141
  *
@@ -146,7 +146,7 @@ export interface SSOOIDCClientConfig extends SSOOIDCClientConfigType {
146
146
  /**
147
147
  * @public
148
148
  */
149
- export type SSOOIDCClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig & ClientResolvedEndpointParameters;
149
+ export type SSOOIDCClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & RegionResolvedConfig & EndpointResolvedConfig<EndpointParameters> & RetryResolvedConfig & HostHeaderResolvedConfig & UserAgentResolvedConfig & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
150
150
  /**
151
151
  * @public
152
152
  *
@@ -207,4 +207,6 @@ export declare class SSOOIDCClient extends __Client<__HttpHandlerOptions, Servic
207
207
  * Otherwise, sockets might stay open for quite a long time before the server terminates them.
208
208
  */
209
209
  destroy(): void;
210
+ private getDefaultHttpAuthSchemeParametersProvider;
211
+ private getIdentityProviderConfigProvider;
210
212
  }
@@ -0,0 +1,29 @@
1
+ import { AwsCredentialIdentity, AwsCredentialIdentityProvider, HttpAuthScheme } from "@smithy/types";
2
+ import { SSOOIDCHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
3
+ /**
4
+ * @internal
5
+ */
6
+ export interface HttpAuthExtensionConfiguration {
7
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
8
+ httpAuthSchemes(): HttpAuthScheme[];
9
+ setHttpAuthSchemeProvider(httpAuthSchemeProvider: SSOOIDCHttpAuthSchemeProvider): void;
10
+ httpAuthSchemeProvider(): SSOOIDCHttpAuthSchemeProvider;
11
+ setCredentials(credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider): void;
12
+ credentials(): AwsCredentialIdentity | AwsCredentialIdentityProvider | undefined;
13
+ }
14
+ /**
15
+ * @internal
16
+ */
17
+ export type HttpAuthRuntimeConfig = Partial<{
18
+ httpAuthSchemes: HttpAuthScheme[];
19
+ httpAuthSchemeProvider: SSOOIDCHttpAuthSchemeProvider;
20
+ credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider;
21
+ }>;
22
+ /**
23
+ * @internal
24
+ */
25
+ export declare const getHttpAuthExtensionConfiguration: (runtimeConfig: HttpAuthRuntimeConfig) => HttpAuthExtensionConfiguration;
26
+ /**
27
+ * @internal
28
+ */
29
+ export declare const resolveHttpAuthRuntimeConfig: (config: HttpAuthExtensionConfiguration) => HttpAuthRuntimeConfig;
@@ -0,0 +1,61 @@
1
+ import { AwsSdkSigV4AuthInputConfig, AwsSdkSigV4AuthResolvedConfig, AwsSdkSigV4PreviouslyResolved } from "@aws-sdk/core";
2
+ import { HandlerExecutionContext, HttpAuthScheme, HttpAuthSchemeParameters, HttpAuthSchemeParametersProvider, HttpAuthSchemeProvider } from "@smithy/types";
3
+ import { SSOOIDCClientResolvedConfig } from "../SSOOIDCClient";
4
+ /**
5
+ * @internal
6
+ */
7
+ export interface SSOOIDCHttpAuthSchemeParameters extends HttpAuthSchemeParameters {
8
+ region?: string;
9
+ }
10
+ /**
11
+ * @internal
12
+ */
13
+ export interface SSOOIDCHttpAuthSchemeParametersProvider extends HttpAuthSchemeParametersProvider<SSOOIDCClientResolvedConfig, HandlerExecutionContext, SSOOIDCHttpAuthSchemeParameters, object> {
14
+ }
15
+ /**
16
+ * @internal
17
+ */
18
+ export declare const defaultSSOOIDCHttpAuthSchemeParametersProvider: (config: SSOOIDCClientResolvedConfig, context: HandlerExecutionContext, input: object) => Promise<SSOOIDCHttpAuthSchemeParameters>;
19
+ /**
20
+ * @internal
21
+ */
22
+ export interface SSOOIDCHttpAuthSchemeProvider extends HttpAuthSchemeProvider<SSOOIDCHttpAuthSchemeParameters> {
23
+ }
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare const defaultSSOOIDCHttpAuthSchemeProvider: SSOOIDCHttpAuthSchemeProvider;
28
+ /**
29
+ * @internal
30
+ */
31
+ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
32
+ /**
33
+ * experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
34
+ * @internal
35
+ */
36
+ httpAuthSchemes?: HttpAuthScheme[];
37
+ /**
38
+ * experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
39
+ * @internal
40
+ */
41
+ httpAuthSchemeProvider?: SSOOIDCHttpAuthSchemeProvider;
42
+ }
43
+ /**
44
+ * @internal
45
+ */
46
+ export interface HttpAuthSchemeResolvedConfig extends AwsSdkSigV4AuthResolvedConfig {
47
+ /**
48
+ * experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
49
+ * @internal
50
+ */
51
+ readonly httpAuthSchemes: HttpAuthScheme[];
52
+ /**
53
+ * experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
54
+ * @internal
55
+ */
56
+ readonly httpAuthSchemeProvider: SSOOIDCHttpAuthSchemeProvider;
57
+ }
58
+ /**
59
+ * @internal
60
+ */
61
+ export declare const resolveHttpAuthSchemeConfig: <T>(config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved) => T & HttpAuthSchemeResolvedConfig;
@@ -1,8 +1,9 @@
1
1
  import { AwsRegionExtensionConfiguration } from "@aws-sdk/types";
2
2
  import { HttpHandlerExtensionConfiguration } from "@smithy/protocol-http";
3
3
  import { DefaultExtensionConfiguration } from "@smithy/types";
4
+ import { HttpAuthExtensionConfiguration } from "./auth/httpAuthExtensionConfiguration";
4
5
  /**
5
6
  * @internal
6
7
  */
7
- export interface SSOOIDCExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration {
8
+ export interface SSOOIDCExtensionConfiguration extends HttpHandlerExtensionConfiguration, DefaultExtensionConfiguration, AwsRegionExtensionConfiguration, HttpAuthExtensionConfiguration {
8
9
  }
@@ -7,7 +7,7 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
7
7
  runtime: string;
8
8
  defaultsMode: import("@smithy/types").Provider<import("@smithy/smithy-client").ResolvedDefaultsMode>;
9
9
  bodyLengthChecker: import("@smithy/types").BodyLengthCalculator;
10
- credentialDefaultProvider: (input: any) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
10
+ credentialDefaultProvider: (input: any) => import("@smithy/types").AwsCredentialIdentityProvider;
11
11
  defaultUserAgentProvider: import("@smithy/types").Provider<import("@smithy/types").UserAgent>;
12
12
  maxAttempts: number | import("@smithy/types").Provider<number>;
13
13
  region: string | import("@smithy/types").Provider<any>;
@@ -36,11 +36,21 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
36
36
  }) => import("@smithy/types").EndpointV2;
37
37
  tls?: boolean | undefined;
38
38
  retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
39
- credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").Provider<import("@smithy/types").AwsCredentialIdentity> | undefined;
39
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
40
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[] | ({
41
+ schemeId: string;
42
+ identityProvider: (ipc: import("@smithy/types").IdentityProviderConfig) => import("@smithy/types").IdentityProvider<import("@smithy/types").Identity> | undefined;
43
+ signer: import("@aws-sdk/core").AwsSdkSigV4Signer;
44
+ } | {
45
+ schemeId: string;
46
+ identityProvider: (ipc: import("@smithy/types").IdentityProviderConfig) => import("@smithy/types").IdentityProvider<import("@smithy/types").Identity> | (() => Promise<{}>);
47
+ signer: import("@smithy/core").NoAuthSigner;
48
+ })[];
49
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").SSOOIDCHttpAuthSchemeProvider;
50
+ credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
40
51
  signer?: import("@smithy/types").RequestSigner | ((authScheme?: import("@smithy/types").AuthScheme | undefined) => Promise<import("@smithy/types").RequestSigner>) | undefined;
41
52
  signingEscapePath?: boolean | undefined;
42
53
  systemClockOffset?: number | undefined;
43
54
  signingRegion?: string | undefined;
44
55
  signerConstructor?: (new (options: import("@smithy/signature-v4").SignatureV4Init & import("@smithy/signature-v4").SignatureV4CryptoInit) => import("@smithy/types").RequestSigner) | undefined;
45
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
46
56
  };
@@ -36,11 +36,21 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
36
36
  }) => import("@smithy/types").EndpointV2;
37
37
  tls?: boolean | undefined;
38
38
  retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
39
- credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").Provider<import("@smithy/types").AwsCredentialIdentity> | undefined;
39
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
40
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[] | ({
41
+ schemeId: string;
42
+ identityProvider: (ipc: import("@smithy/types").IdentityProviderConfig) => import("@smithy/types").IdentityProvider<import("@smithy/types").Identity> | undefined;
43
+ signer: import("@aws-sdk/core").AwsSdkSigV4Signer;
44
+ } | {
45
+ schemeId: string;
46
+ identityProvider: (ipc: import("@smithy/types").IdentityProviderConfig) => import("@smithy/types").IdentityProvider<import("@smithy/types").Identity> | (() => Promise<{}>);
47
+ signer: import("@smithy/core").NoAuthSigner;
48
+ })[];
49
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").SSOOIDCHttpAuthSchemeProvider;
50
+ credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
40
51
  signer?: import("@smithy/types").RequestSigner | ((authScheme?: import("@smithy/types").AuthScheme | undefined) => Promise<import("@smithy/types").RequestSigner>) | undefined;
41
52
  signingEscapePath?: boolean | undefined;
42
53
  systemClockOffset?: number | undefined;
43
54
  signingRegion?: string | undefined;
44
55
  signerConstructor?: (new (options: import("@smithy/signature-v4").SignatureV4Init & import("@smithy/signature-v4").SignatureV4CryptoInit) => import("@smithy/types").RequestSigner) | undefined;
45
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
46
56
  };
@@ -21,9 +21,9 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
21
21
  serviceId: string;
22
22
  useDualstackEndpoint: boolean | import("@smithy/types").Provider<boolean>;
23
23
  useFipsEndpoint: boolean | import("@smithy/types").Provider<boolean>;
24
- region: string | import("@smithy/types").Provider<any>;
25
- credentialDefaultProvider: (input: any) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
26
24
  defaultUserAgentProvider: import("@smithy/types").Provider<import("@smithy/types").UserAgent>;
25
+ region: string | import("@smithy/types").Provider<any>;
26
+ credentialDefaultProvider: (input: any) => import("@smithy/types").AwsCredentialIdentityProvider;
27
27
  maxAttempts: number | import("@smithy/types").Provider<number>;
28
28
  retryMode: string | import("@smithy/types").Provider<string>;
29
29
  logger: import("@smithy/types").Logger;
@@ -35,11 +35,21 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
35
35
  }) => import("@smithy/types").EndpointV2;
36
36
  tls?: boolean | undefined;
37
37
  retryStrategy?: import("@smithy/types").RetryStrategy | import("@smithy/types").RetryStrategyV2 | undefined;
38
- credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").Provider<import("@smithy/types").AwsCredentialIdentity> | undefined;
38
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
39
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[] | ({
40
+ schemeId: string;
41
+ identityProvider: (ipc: import("@smithy/types").IdentityProviderConfig) => import("@smithy/types").IdentityProvider<import("@smithy/types").Identity> | undefined;
42
+ signer: import("@aws-sdk/core").AwsSdkSigV4Signer;
43
+ } | {
44
+ schemeId: string;
45
+ identityProvider: (ipc: import("@smithy/types").IdentityProviderConfig) => import("@smithy/types").IdentityProvider<import("@smithy/types").Identity> | (() => Promise<{}>);
46
+ signer: import("@smithy/core").NoAuthSigner;
47
+ })[];
48
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").SSOOIDCHttpAuthSchemeProvider;
49
+ credentials?: import("@smithy/types").AwsCredentialIdentity | import("@smithy/types").AwsCredentialIdentityProvider | undefined;
39
50
  signer?: import("@smithy/types").RequestSigner | ((authScheme?: import("@smithy/types").AuthScheme | undefined) => Promise<import("@smithy/types").RequestSigner>) | undefined;
40
51
  signingEscapePath?: boolean | undefined;
41
52
  systemClockOffset?: number | undefined;
42
53
  signingRegion?: string | undefined;
43
54
  signerConstructor?: (new (options: import("@smithy/signature-v4").SignatureV4Init & import("@smithy/signature-v4").SignatureV4CryptoInit) => import("@smithy/types").RequestSigner) | undefined;
44
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
45
55
  };
@@ -1,3 +1,6 @@
1
+ import { AwsSdkSigV4Signer } from "@aws-sdk/core";
2
+ import { NoAuthSigner } from "@smithy/core";
3
+ import { IdentityProviderConfig } from "@smithy/types";
1
4
  import { SSOOIDCClientConfig } from "./SSOOIDCClient";
2
5
  /**
3
6
  * @internal
@@ -11,6 +14,16 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
11
14
  logger?: import("@smithy/types").Logger | undefined;
12
15
  }) => import("@smithy/types").EndpointV2;
13
16
  extensions: import("./runtimeExtensions").RuntimeExtension[];
17
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").SSOOIDCHttpAuthSchemeProvider;
18
+ httpAuthSchemes: import("@smithy/types").HttpAuthScheme[] | ({
19
+ schemeId: string;
20
+ identityProvider: (ipc: IdentityProviderConfig) => import("@smithy/types").IdentityProvider<import("@smithy/types").Identity> | undefined;
21
+ signer: AwsSdkSigV4Signer;
22
+ } | {
23
+ schemeId: string;
24
+ identityProvider: (ipc: IdentityProviderConfig) => import("@smithy/types").IdentityProvider<import("@smithy/types").Identity> | (() => Promise<{}>);
25
+ signer: NoAuthSigner;
26
+ })[];
14
27
  logger: import("@smithy/types").Logger;
15
28
  serviceId: string;
16
29
  urlParser: import("@smithy/types").UrlParser;
@@ -2,15 +2,10 @@ import {
2
2
  HostHeaderInputConfig,
3
3
  HostHeaderResolvedConfig,
4
4
  } from "@aws-sdk/middleware-host-header";
5
- import {
6
- AwsAuthInputConfig,
7
- AwsAuthResolvedConfig,
8
- } from "@aws-sdk/middleware-signing";
9
5
  import {
10
6
  UserAgentInputConfig,
11
7
  UserAgentResolvedConfig,
12
8
  } from "@aws-sdk/middleware-user-agent";
13
- import { Credentials as __Credentials } from "@aws-sdk/types";
14
9
  import {
15
10
  RegionInputConfig,
16
11
  RegionResolvedConfig,
@@ -31,6 +26,7 @@ import {
31
26
  SmithyResolvedConfiguration as __SmithyResolvedConfiguration,
32
27
  } from "@smithy/smithy-client";
33
28
  import {
29
+ AwsCredentialIdentityProvider,
34
30
  BodyLengthCalculator as __BodyLengthCalculator,
35
31
  CheckOptionalClientConfig as __CheckOptionalClientConfig,
36
32
  ChecksumConstructor as __ChecksumConstructor,
@@ -45,6 +41,10 @@ import {
45
41
  UrlParser as __UrlParser,
46
42
  UserAgent as __UserAgent,
47
43
  } from "@smithy/types";
44
+ import {
45
+ HttpAuthSchemeInputConfig,
46
+ HttpAuthSchemeResolvedConfig,
47
+ } from "./auth/httpAuthSchemeProvider";
48
48
  import {
49
49
  CreateTokenCommandInput,
50
50
  CreateTokenCommandOutput,
@@ -94,9 +94,9 @@ export interface ClientDefaults
94
94
  serviceId?: string;
95
95
  useDualstackEndpoint?: boolean | __Provider<boolean>;
96
96
  useFipsEndpoint?: boolean | __Provider<boolean>;
97
- region?: string | __Provider<string>;
98
- credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
99
97
  defaultUserAgentProvider?: Provider<__UserAgent>;
98
+ region?: string | __Provider<string>;
99
+ credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
100
100
  maxAttempts?: number | __Provider<number>;
101
101
  retryMode?: string | __Provider<string>;
102
102
  logger?: __Logger;
@@ -111,8 +111,8 @@ export type SSOOIDCClientConfigType = Partial<
111
111
  EndpointInputConfig<EndpointParameters> &
112
112
  RetryInputConfig &
113
113
  HostHeaderInputConfig &
114
- AwsAuthInputConfig &
115
114
  UserAgentInputConfig &
115
+ HttpAuthSchemeInputConfig &
116
116
  ClientInputEndpointParameters;
117
117
  export interface SSOOIDCClientConfig extends SSOOIDCClientConfigType {}
118
118
  export type SSOOIDCClientResolvedConfigType =
@@ -123,8 +123,8 @@ export type SSOOIDCClientResolvedConfigType =
123
123
  EndpointResolvedConfig<EndpointParameters> &
124
124
  RetryResolvedConfig &
125
125
  HostHeaderResolvedConfig &
126
- AwsAuthResolvedConfig &
127
126
  UserAgentResolvedConfig &
127
+ HttpAuthSchemeResolvedConfig &
128
128
  ClientResolvedEndpointParameters;
129
129
  export interface SSOOIDCClientResolvedConfig
130
130
  extends SSOOIDCClientResolvedConfigType {}
@@ -139,4 +139,6 @@ export declare class SSOOIDCClient extends __Client<
139
139
  ...[configuration]: __CheckOptionalClientConfig<SSOOIDCClientConfig>
140
140
  );
141
141
  destroy(): void;
142
+ private getDefaultHttpAuthSchemeParametersProvider;
143
+ private getIdentityProviderConfigProvider;
142
144
  }
@@ -0,0 +1,32 @@
1
+ import {
2
+ AwsCredentialIdentity,
3
+ AwsCredentialIdentityProvider,
4
+ HttpAuthScheme,
5
+ } from "@smithy/types";
6
+ import { SSOOIDCHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
7
+ export interface HttpAuthExtensionConfiguration {
8
+ setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
9
+ httpAuthSchemes(): HttpAuthScheme[];
10
+ setHttpAuthSchemeProvider(
11
+ httpAuthSchemeProvider: SSOOIDCHttpAuthSchemeProvider
12
+ ): void;
13
+ httpAuthSchemeProvider(): SSOOIDCHttpAuthSchemeProvider;
14
+ setCredentials(
15
+ credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider
16
+ ): void;
17
+ credentials():
18
+ | AwsCredentialIdentity
19
+ | AwsCredentialIdentityProvider
20
+ | undefined;
21
+ }
22
+ export type HttpAuthRuntimeConfig = Partial<{
23
+ httpAuthSchemes: HttpAuthScheme[];
24
+ httpAuthSchemeProvider: SSOOIDCHttpAuthSchemeProvider;
25
+ credentials: AwsCredentialIdentity | AwsCredentialIdentityProvider;
26
+ }>;
27
+ export declare const getHttpAuthExtensionConfiguration: (
28
+ runtimeConfig: HttpAuthRuntimeConfig
29
+ ) => HttpAuthExtensionConfiguration;
30
+ export declare const resolveHttpAuthRuntimeConfig: (
31
+ config: HttpAuthExtensionConfiguration
32
+ ) => HttpAuthRuntimeConfig;
@@ -0,0 +1,44 @@
1
+ import {
2
+ AwsSdkSigV4AuthInputConfig,
3
+ AwsSdkSigV4AuthResolvedConfig,
4
+ AwsSdkSigV4PreviouslyResolved,
5
+ } from "@aws-sdk/core";
6
+ import {
7
+ HandlerExecutionContext,
8
+ HttpAuthScheme,
9
+ HttpAuthSchemeParameters,
10
+ HttpAuthSchemeParametersProvider,
11
+ HttpAuthSchemeProvider,
12
+ } from "@smithy/types";
13
+ import { SSOOIDCClientResolvedConfig } from "../SSOOIDCClient";
14
+ export interface SSOOIDCHttpAuthSchemeParameters
15
+ extends HttpAuthSchemeParameters {
16
+ region?: string;
17
+ }
18
+ export interface SSOOIDCHttpAuthSchemeParametersProvider
19
+ extends HttpAuthSchemeParametersProvider<
20
+ SSOOIDCClientResolvedConfig,
21
+ HandlerExecutionContext,
22
+ SSOOIDCHttpAuthSchemeParameters,
23
+ object
24
+ > {}
25
+ export declare const defaultSSOOIDCHttpAuthSchemeParametersProvider: (
26
+ config: SSOOIDCClientResolvedConfig,
27
+ context: HandlerExecutionContext,
28
+ input: object
29
+ ) => Promise<SSOOIDCHttpAuthSchemeParameters>;
30
+ export interface SSOOIDCHttpAuthSchemeProvider
31
+ extends HttpAuthSchemeProvider<SSOOIDCHttpAuthSchemeParameters> {}
32
+ export declare const defaultSSOOIDCHttpAuthSchemeProvider: SSOOIDCHttpAuthSchemeProvider;
33
+ export interface HttpAuthSchemeInputConfig extends AwsSdkSigV4AuthInputConfig {
34
+ httpAuthSchemes?: HttpAuthScheme[];
35
+ httpAuthSchemeProvider?: SSOOIDCHttpAuthSchemeProvider;
36
+ }
37
+ export interface HttpAuthSchemeResolvedConfig
38
+ extends AwsSdkSigV4AuthResolvedConfig {
39
+ readonly httpAuthSchemes: HttpAuthScheme[];
40
+ readonly httpAuthSchemeProvider: SSOOIDCHttpAuthSchemeProvider;
41
+ }
42
+ export declare const resolveHttpAuthSchemeConfig: <T>(
43
+ config: T & HttpAuthSchemeInputConfig & AwsSdkSigV4PreviouslyResolved
44
+ ) => T & HttpAuthSchemeResolvedConfig;
@@ -1,7 +1,9 @@
1
1
  import { AwsRegionExtensionConfiguration } from "@aws-sdk/types";
2
2
  import { HttpHandlerExtensionConfiguration } from "@smithy/protocol-http";
3
3
  import { DefaultExtensionConfiguration } from "@smithy/types";
4
+ import { HttpAuthExtensionConfiguration } from "./auth/httpAuthExtensionConfiguration";
4
5
  export interface SSOOIDCExtensionConfiguration
5
6
  extends HttpHandlerExtensionConfiguration,
6
7
  DefaultExtensionConfiguration,
7
- AwsRegionExtensionConfiguration {}
8
+ AwsRegionExtensionConfiguration,
9
+ HttpAuthExtensionConfiguration {}
@@ -8,7 +8,7 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
8
8
  bodyLengthChecker: import("@smithy/types").BodyLengthCalculator;
9
9
  credentialDefaultProvider: (
10
10
  input: any
11
- ) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
11
+ ) => import("@smithy/types").AwsCredentialIdentityProvider;
12
12
  defaultUserAgentProvider: import("@smithy/types").Provider<
13
13
  import("@smithy/types").UserAgent
14
14
  >;
@@ -72,11 +72,37 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
72
72
  | import("@smithy/types").RetryStrategy
73
73
  | import("@smithy/types").RetryStrategyV2
74
74
  | undefined;
75
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
76
+ httpAuthSchemes:
77
+ | import("@smithy/types").HttpAuthScheme[]
78
+ | (
79
+ | {
80
+ schemeId: string;
81
+ identityProvider: (
82
+ ipc: import("@smithy/types").IdentityProviderConfig
83
+ ) =>
84
+ | import("@smithy/types").IdentityProvider<
85
+ import("@smithy/types").Identity
86
+ >
87
+ | undefined;
88
+ signer: import("@aws-sdk/core").AwsSdkSigV4Signer;
89
+ }
90
+ | {
91
+ schemeId: string;
92
+ identityProvider: (
93
+ ipc: import("@smithy/types").IdentityProviderConfig
94
+ ) =>
95
+ | import("@smithy/types").IdentityProvider<
96
+ import("@smithy/types").Identity
97
+ >
98
+ | (() => Promise<{}>);
99
+ signer: import("@smithy/core").NoAuthSigner;
100
+ }
101
+ )[];
102
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").SSOOIDCHttpAuthSchemeProvider;
75
103
  credentials?:
76
104
  | import("@smithy/types").AwsCredentialIdentity
77
- | import("@smithy/types").Provider<
78
- import("@smithy/types").AwsCredentialIdentity
79
- >
105
+ | import("@smithy/types").AwsCredentialIdentityProvider
80
106
  | undefined;
81
107
  signer?:
82
108
  | import("@smithy/types").RequestSigner
@@ -93,5 +119,4 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
93
119
  import("@smithy/signature-v4").SignatureV4CryptoInit
94
120
  ) => import("@smithy/types").RequestSigner)
95
121
  | undefined;
96
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
97
122
  };
@@ -70,11 +70,37 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
70
70
  | import("@smithy/types").RetryStrategy
71
71
  | import("@smithy/types").RetryStrategyV2
72
72
  | undefined;
73
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
74
+ httpAuthSchemes:
75
+ | import("@smithy/types").HttpAuthScheme[]
76
+ | (
77
+ | {
78
+ schemeId: string;
79
+ identityProvider: (
80
+ ipc: import("@smithy/types").IdentityProviderConfig
81
+ ) =>
82
+ | import("@smithy/types").IdentityProvider<
83
+ import("@smithy/types").Identity
84
+ >
85
+ | undefined;
86
+ signer: import("@aws-sdk/core").AwsSdkSigV4Signer;
87
+ }
88
+ | {
89
+ schemeId: string;
90
+ identityProvider: (
91
+ ipc: import("@smithy/types").IdentityProviderConfig
92
+ ) =>
93
+ | import("@smithy/types").IdentityProvider<
94
+ import("@smithy/types").Identity
95
+ >
96
+ | (() => Promise<{}>);
97
+ signer: import("@smithy/core").NoAuthSigner;
98
+ }
99
+ )[];
100
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").SSOOIDCHttpAuthSchemeProvider;
73
101
  credentials?:
74
102
  | import("@smithy/types").AwsCredentialIdentity
75
- | import("@smithy/types").Provider<
76
- import("@smithy/types").AwsCredentialIdentity
77
- >
103
+ | import("@smithy/types").AwsCredentialIdentityProvider
78
104
  | undefined;
79
105
  signer?:
80
106
  | import("@smithy/types").RequestSigner
@@ -91,5 +117,4 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
91
117
  import("@smithy/signature-v4").SignatureV4CryptoInit
92
118
  ) => import("@smithy/types").RequestSigner)
93
119
  | undefined;
94
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
95
120
  };
@@ -29,13 +29,13 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
29
29
  serviceId: string;
30
30
  useDualstackEndpoint: boolean | import("@smithy/types").Provider<boolean>;
31
31
  useFipsEndpoint: boolean | import("@smithy/types").Provider<boolean>;
32
- region: string | import("@smithy/types").Provider<any>;
33
- credentialDefaultProvider: (
34
- input: any
35
- ) => import("@smithy/types").Provider<import("@aws-sdk/types").Credentials>;
36
32
  defaultUserAgentProvider: import("@smithy/types").Provider<
37
33
  import("@smithy/types").UserAgent
38
34
  >;
35
+ region: string | import("@smithy/types").Provider<any>;
36
+ credentialDefaultProvider: (
37
+ input: any
38
+ ) => import("@smithy/types").AwsCredentialIdentityProvider;
39
39
  maxAttempts: number | import("@smithy/types").Provider<number>;
40
40
  retryMode: string | import("@smithy/types").Provider<string>;
41
41
  logger: import("@smithy/types").Logger;
@@ -63,11 +63,37 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
63
63
  | import("@smithy/types").RetryStrategy
64
64
  | import("@smithy/types").RetryStrategyV2
65
65
  | undefined;
66
+ customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
67
+ httpAuthSchemes:
68
+ | import("@smithy/types").HttpAuthScheme[]
69
+ | (
70
+ | {
71
+ schemeId: string;
72
+ identityProvider: (
73
+ ipc: import("@smithy/types").IdentityProviderConfig
74
+ ) =>
75
+ | import("@smithy/types").IdentityProvider<
76
+ import("@smithy/types").Identity
77
+ >
78
+ | undefined;
79
+ signer: import("@aws-sdk/core").AwsSdkSigV4Signer;
80
+ }
81
+ | {
82
+ schemeId: string;
83
+ identityProvider: (
84
+ ipc: import("@smithy/types").IdentityProviderConfig
85
+ ) =>
86
+ | import("@smithy/types").IdentityProvider<
87
+ import("@smithy/types").Identity
88
+ >
89
+ | (() => Promise<{}>);
90
+ signer: import("@smithy/core").NoAuthSigner;
91
+ }
92
+ )[];
93
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").SSOOIDCHttpAuthSchemeProvider;
66
94
  credentials?:
67
95
  | import("@smithy/types").AwsCredentialIdentity
68
- | import("@smithy/types").Provider<
69
- import("@smithy/types").AwsCredentialIdentity
70
- >
96
+ | import("@smithy/types").AwsCredentialIdentityProvider
71
97
  | undefined;
72
98
  signer?:
73
99
  | import("@smithy/types").RequestSigner
@@ -84,5 +110,4 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
84
110
  import("@smithy/signature-v4").SignatureV4CryptoInit
85
111
  ) => import("@smithy/types").RequestSigner)
86
112
  | undefined;
87
- customUserAgent?: string | import("@smithy/types").UserAgent | undefined;
88
113
  };
@@ -1,3 +1,6 @@
1
+ import { AwsSdkSigV4Signer } from "@aws-sdk/core";
2
+ import { NoAuthSigner } from "@smithy/core";
3
+ import { IdentityProviderConfig } from "@smithy/types";
1
4
  import { SSOOIDCClientConfig } from "./SSOOIDCClient";
2
5
  export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
3
6
  apiVersion: string;
@@ -11,6 +14,33 @@ export declare const getRuntimeConfig: (config: SSOOIDCClientConfig) => {
11
14
  }
12
15
  ) => import("@smithy/types").EndpointV2;
13
16
  extensions: import("./runtimeExtensions").RuntimeExtension[];
17
+ httpAuthSchemeProvider: import("./auth/httpAuthSchemeProvider").SSOOIDCHttpAuthSchemeProvider;
18
+ httpAuthSchemes:
19
+ | import("@smithy/types").HttpAuthScheme[]
20
+ | (
21
+ | {
22
+ schemeId: string;
23
+ identityProvider: (
24
+ ipc: IdentityProviderConfig
25
+ ) =>
26
+ | import("@smithy/types").IdentityProvider<
27
+ import("@smithy/types").Identity
28
+ >
29
+ | undefined;
30
+ signer: AwsSdkSigV4Signer;
31
+ }
32
+ | {
33
+ schemeId: string;
34
+ identityProvider: (
35
+ ipc: IdentityProviderConfig
36
+ ) =>
37
+ | import("@smithy/types").IdentityProvider<
38
+ import("@smithy/types").Identity
39
+ >
40
+ | (() => Promise<{}>);
41
+ signer: NoAuthSigner;
42
+ }
43
+ )[];
14
44
  logger: import("@smithy/types").Logger;
15
45
  serviceId: string;
16
46
  urlParser: import("@smithy/types").UrlParser;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sso-oidc",
3
3
  "description": "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native",
4
- "version": "3.511.0",
4
+ "version": "3.515.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-sso-oidc",
@@ -20,20 +20,19 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "3.0.0",
22
22
  "@aws-crypto/sha256-js": "3.0.0",
23
- "@aws-sdk/client-sts": "3.511.0",
24
- "@aws-sdk/core": "3.511.0",
25
- "@aws-sdk/middleware-host-header": "3.511.0",
26
- "@aws-sdk/middleware-logger": "3.511.0",
27
- "@aws-sdk/middleware-recursion-detection": "3.511.0",
28
- "@aws-sdk/middleware-signing": "3.511.0",
29
- "@aws-sdk/middleware-user-agent": "3.511.0",
30
- "@aws-sdk/region-config-resolver": "3.511.0",
31
- "@aws-sdk/types": "3.511.0",
32
- "@aws-sdk/util-endpoints": "3.511.0",
33
- "@aws-sdk/util-user-agent-browser": "3.511.0",
34
- "@aws-sdk/util-user-agent-node": "3.511.0",
23
+ "@aws-sdk/client-sts": "3.515.0",
24
+ "@aws-sdk/core": "3.513.0",
25
+ "@aws-sdk/middleware-host-header": "3.515.0",
26
+ "@aws-sdk/middleware-logger": "3.515.0",
27
+ "@aws-sdk/middleware-recursion-detection": "3.515.0",
28
+ "@aws-sdk/middleware-user-agent": "3.515.0",
29
+ "@aws-sdk/region-config-resolver": "3.515.0",
30
+ "@aws-sdk/types": "3.515.0",
31
+ "@aws-sdk/util-endpoints": "3.515.0",
32
+ "@aws-sdk/util-user-agent-browser": "3.515.0",
33
+ "@aws-sdk/util-user-agent-node": "3.515.0",
35
34
  "@smithy/config-resolver": "^2.1.1",
36
- "@smithy/core": "^1.3.1",
35
+ "@smithy/core": "^1.3.2",
37
36
  "@smithy/fetch-http-handler": "^2.4.1",
38
37
  "@smithy/hash-node": "^2.1.1",
39
38
  "@smithy/invalid-dependency": "^2.1.1",
@@ -52,8 +51,9 @@
52
51
  "@smithy/util-body-length-browser": "^2.1.1",
53
52
  "@smithy/util-body-length-node": "^2.2.1",
54
53
  "@smithy/util-defaults-mode-browser": "^2.1.1",
55
- "@smithy/util-defaults-mode-node": "^2.1.1",
54
+ "@smithy/util-defaults-mode-node": "^2.2.0",
56
55
  "@smithy/util-endpoints": "^1.1.1",
56
+ "@smithy/util-middleware": "^2.1.1",
57
57
  "@smithy/util-retry": "^2.1.1",
58
58
  "@smithy/util-utf8": "^2.1.1",
59
59
  "tslib": "^2.5.0"
@@ -86,7 +86,7 @@
86
86
  },
87
87
  "license": "Apache-2.0",
88
88
  "peerDependencies": {
89
- "@aws-sdk/credential-provider-node": "^3.511.0"
89
+ "@aws-sdk/credential-provider-node": "^3.515.0"
90
90
  },
91
91
  "browser": {
92
92
  "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser"