Skip to content

feat(experimentalIdentityAndAuth): release phase for @smithy.api#httpBearerAuth #5271

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Nov 14, 2023

Conversation

syall
Copy link
Contributor

@syall syall commented Sep 27, 2023

Issue

Issue number, if available, prefixed with "#"

N/A.

Description

What does this implement/fix? Explain your changes.

Dependent on: #5486. The last 2 commits are the relevant commits for enabling experimentalIdentityAndAuth

Release phase for @smithy.api#httpBearerAuth of experimentalIdentityAndAuth in aws-sdk-js-v3.

Services:

  • CodeCatalyst

TODO:

Testing

How was this change tested?

Note: some of the package versions might be outdates due to version bumps

The codegen diff for CodeCatalyst replaces the generated token middleware:

diff --git a/clients/client-codecatalyst/package.json b/clients/client-codecatalyst/package.json
index cfacf989f777..a412f1b55307 100644
--- a/clients/client-codecatalyst/package.json
+++ b/clients/client-codecatalyst/package.json
@@ -25,14 +25,15 @@
     "@aws-sdk/middleware-host-header": "*",
     "@aws-sdk/middleware-logger": "*",
     "@aws-sdk/middleware-recursion-detection": "*",
-    "@aws-sdk/middleware-token": "*",
     "@aws-sdk/middleware-user-agent": "*",
     "@aws-sdk/region-config-resolver": "*",
+    "@aws-sdk/token-providers": "*",
     "@aws-sdk/types": "*",
     "@aws-sdk/util-endpoints": "*",
     "@aws-sdk/util-user-agent-browser": "*",
     "@aws-sdk/util-user-agent-node": "*",
     "@smithy/config-resolver": "^2.0.18",
+    "@smithy/core": "^1.0.1",
     "@smithy/fetch-http-handler": "^2.2.6",
     "@smithy/hash-node": "^2.0.15",
     "@smithy/invalid-dependency": "^2.0.13",
@@ -53,6 +54,7 @@
     "@smithy/util-defaults-mode-browser": "^2.0.19",
     "@smithy/util-defaults-mode-node": "^2.0.25",
     "@smithy/util-endpoints": "^1.0.4",
+    "@smithy/util-middleware": "^2.0.6",
     "@smithy/util-retry": "^2.0.6",
     "@smithy/util-utf8": "^2.0.2",
     "tslib": "^2.5.0"
diff --git a/clients/client-codecatalyst/src/CodeCatalystClient.ts b/clients/client-codecatalyst/src/CodeCatalystClient.ts
index d3c8b80aebc2..a16a3137156e 100644
--- a/clients/client-codecatalyst/src/CodeCatalystClient.ts
+++ b/clients/client-codecatalyst/src/CodeCatalystClient.ts
@@ -7,7 +7,6 @@ import {
 } from "@aws-sdk/middleware-host-header";
 import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
 import { getRecursionDetectionPlugin } from "@aws-sdk/middleware-recursion-detection";
-import { getTokenPlugin, resolveTokenConfig, TokenInputConfig, TokenResolvedConfig } from "@aws-sdk/middleware-token";
 import {
   getUserAgentPlugin,
   resolveUserAgentConfig,
@@ -15,6 +14,11 @@ import {
   UserAgentResolvedConfig,
 } from "@aws-sdk/middleware-user-agent";
 import { RegionInputConfig, RegionResolvedConfig, resolveRegionConfig } from "@smithy/config-resolver";
+import {
+  DefaultIdentityProviderConfig,
+  getHttpAuthSchemeEndpointRuleSetPlugin,
+  getHttpSigningPlugin,
+} from "@smithy/core";
 import { getContentLengthPlugin } from "@smithy/middleware-content-length";
 import { EndpointInputConfig, EndpointResolvedConfig, resolveEndpointConfig } from "@smithy/middleware-endpoint";
 import { getRetryPlugin, resolveRetryConfig, RetryInputConfig, RetryResolvedConfig } from "@smithy/middleware-retry";
@@ -44,6 +48,12 @@ import {
   UserAgent as __UserAgent,
 } from "@smithy/types";
 
+import {
+  defaultCodeCatalystHttpAuthSchemeParametersProvider,
+  HttpAuthSchemeInputConfig,
+  HttpAuthSchemeResolvedConfig,
+  resolveHttpAuthSchemeConfig,
+} from "./auth/httpAuthSchemeProvider";
 import { CreateAccessTokenCommandInput, CreateAccessTokenCommandOutput } from "./commands/CreateAccessTokenCommand";
 import {
   CreateDevEnvironmentCommandInput,
@@ -338,8 +348,8 @@ export type CodeCatalystClientConfigType = Partial<__SmithyConfiguration<__HttpH
   EndpointInputConfig<EndpointParameters> &
   RetryInputConfig &
   HostHeaderInputConfig &
-  TokenInputConfig &
   UserAgentInputConfig &
+  HttpAuthSchemeInputConfig &
   ClientInputEndpointParameters;
 /**
  * @public
@@ -358,8 +368,8 @@ export type CodeCatalystClientResolvedConfigType = __SmithyResolvedConfiguration
   EndpointResolvedConfig<EndpointParameters> &
   RetryResolvedConfig &
   HostHeaderResolvedConfig &
-  TokenResolvedConfig &
   UserAgentResolvedConfig &
+  HttpAuthSchemeResolvedConfig &
   ClientResolvedEndpointParameters;
 /**
  * @public
@@ -534,6 +544,17 @@ export class CodeCatalystClient extends __Client<
    */
   readonly config: CodeCatalystClientResolvedConfig;
 
+  private getDefaultHttpAuthSchemeParametersProvider() {
+    return defaultCodeCatalystHttpAuthSchemeParametersProvider;
+  }
+
+  private getIdentityProviderConfigProvider() {
+    return async (config: CodeCatalystClientResolvedConfig) =>
+      new DefaultIdentityProviderConfig({
+        "smithy.api#httpBearerAuth": config.token,
+      });
+  }
+
   constructor(...[configuration]: __CheckOptionalClientConfig<CodeCatalystClientConfig>) {
     const _config_0 = __getRuntimeConfig(configuration || {});
     const _config_1 = resolveClientEndpointParameters(_config_0);
@@ -541,8 +562,8 @@ export class CodeCatalystClient extends __Client<
     const _config_3 = resolveEndpointConfig(_config_2);
     const _config_4 = resolveRetryConfig(_config_3);
     const _config_5 = resolveHostHeaderConfig(_config_4);
-    const _config_6 = resolveTokenConfig(_config_5);
-    const _config_7 = resolveUserAgentConfig(_config_6);
+    const _config_6 = resolveUserAgentConfig(_config_5);
+    const _config_7 = resolveHttpAuthSchemeConfig(_config_6);
     const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);
     super(_config_8);
     this.config = _config_8;
@@ -551,8 +572,14 @@ export class CodeCatalystClient extends __Client<
     this.middlewareStack.use(getHostHeaderPlugin(this.config));
     this.middlewareStack.use(getLoggerPlugin(this.config));
     this.middlewareStack.use(getRecursionDetectionPlugin(this.config));
-    this.middlewareStack.use(getTokenPlugin(this.config));
     this.middlewareStack.use(getUserAgentPlugin(this.config));
+    this.middlewareStack.use(
+      getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {
+        identityProviderConfigProvider: this.getIdentityProviderConfigProvider(),
+        httpAuthSchemeParametersProvider: this.getDefaultHttpAuthSchemeParametersProvider(),
+      })
+    );
+    this.middlewareStack.use(getHttpSigningPlugin(this.config));
   }
 
   /**
diff --git a/clients/client-codecatalyst/src/auth/httpAuthExtensionConfiguration.ts b/clients/client-codecatalyst/src/auth/httpAuthExtensionConfiguration.ts
new file mode 100644
index 000000000000..30a5417819a2
--- /dev/null
+++ b/clients/client-codecatalyst/src/auth/httpAuthExtensionConfiguration.ts
@@ -0,0 +1,72 @@
+// smithy-typescript generated code
+import { HttpAuthScheme, TokenIdentity, TokenIdentityProvider } from "@smithy/types";
+
+import { CodeCatalystHttpAuthSchemeProvider } from "./httpAuthSchemeProvider";
+
+/**
+ * @internal
+ */
+export interface HttpAuthExtensionConfiguration {
+  setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void;
+  httpAuthSchemes(): HttpAuthScheme[];
+  setHttpAuthSchemeProvider(httpAuthSchemeProvider: CodeCatalystHttpAuthSchemeProvider): void;
+  httpAuthSchemeProvider(): CodeCatalystHttpAuthSchemeProvider;
+  setToken(token: TokenIdentity | TokenIdentityProvider): void;
+  token(): TokenIdentity | TokenIdentityProvider | undefined;
+}
+
+/**
+ * @internal
+ */
+export type HttpAuthRuntimeConfig = Partial<{
+  httpAuthSchemes: HttpAuthScheme[];
+  httpAuthSchemeProvider: CodeCatalystHttpAuthSchemeProvider;
+  token: TokenIdentity | TokenIdentityProvider;
+}>;
+
+/**
+ * @internal
+ */
+export const getHttpAuthExtensionConfiguration = (
+  runtimeConfig: HttpAuthRuntimeConfig
+): HttpAuthExtensionConfiguration => {
+  const _httpAuthSchemes = runtimeConfig.httpAuthSchemes!;
+  let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider!;
+  let _token = runtimeConfig.token;
+  return {
+    setHttpAuthScheme(httpAuthScheme: HttpAuthScheme): void {
+      const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);
+      if (index === -1) {
+        _httpAuthSchemes.push(httpAuthScheme);
+      } else {
+        _httpAuthSchemes.splice(index, 1, httpAuthScheme);
+      }
+    },
+    httpAuthSchemes(): HttpAuthScheme[] {
+      return _httpAuthSchemes;
+    },
+    setHttpAuthSchemeProvider(httpAuthSchemeProvider: CodeCatalystHttpAuthSchemeProvider): void {
+      _httpAuthSchemeProvider = httpAuthSchemeProvider;
+    },
+    httpAuthSchemeProvider(): CodeCatalystHttpAuthSchemeProvider {
+      return _httpAuthSchemeProvider;
+    },
+    setToken(token: TokenIdentity | TokenIdentityProvider): void {
+      _token = token;
+    },
+    token(): TokenIdentity | TokenIdentityProvider | undefined {
+      return _token;
+    },
+  };
+};
+
+/**
+ * @internal
+ */
+export const resolveHttpAuthRuntimeConfig = (config: HttpAuthExtensionConfiguration): HttpAuthRuntimeConfig => {
+  return {
+    httpAuthSchemes: config.httpAuthSchemes(),
+    httpAuthSchemeProvider: config.httpAuthSchemeProvider(),
+    token: config.token(),
+  };
+};
diff --git a/clients/client-codecatalyst/src/auth/httpAuthSchemeProvider.ts b/clients/client-codecatalyst/src/auth/httpAuthSchemeProvider.ts
new file mode 100644
index 000000000000..7eb5fdf9a50c
--- /dev/null
+++ b/clients/client-codecatalyst/src/auth/httpAuthSchemeProvider.ts
@@ -0,0 +1,134 @@
+// smithy-typescript generated code
+import { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider } from "@smithy/core";
+import {
+  HandlerExecutionContext,
+  HttpAuthOption,
+  HttpAuthScheme,
+  HttpAuthSchemeParameters,
+  HttpAuthSchemeParametersProvider,
+  HttpAuthSchemeProvider,
+  TokenIdentity,
+  TokenIdentityProvider,
+} from "@smithy/types";
+import { getSmithyContext } from "@smithy/util-middleware";
+
+import { CodeCatalystClientResolvedConfig } from "../CodeCatalystClient";
+
+/**
+ * @internal
+ */
+export interface CodeCatalystHttpAuthSchemeParameters extends HttpAuthSchemeParameters {}
+
+/**
+ * @internal
+ */
+export interface CodeCatalystHttpAuthSchemeParametersProvider
+  extends HttpAuthSchemeParametersProvider<
+    CodeCatalystClientResolvedConfig,
+    HandlerExecutionContext,
+    CodeCatalystHttpAuthSchemeParameters,
+    object
+  > {}
+
+/**
+ * @internal
+ */
+export const defaultCodeCatalystHttpAuthSchemeParametersProvider = async (
+  config: CodeCatalystClientResolvedConfig,
+  context: HandlerExecutionContext,
+  input: object
+): Promise<CodeCatalystHttpAuthSchemeParameters> => {
+  return {
+    operation: getSmithyContext(context).operation as string,
+  };
+};
+
+function createSmithyApiHttpBearerAuthHttpAuthOption(
+  authParameters: CodeCatalystHttpAuthSchemeParameters
+): HttpAuthOption {
+  return {
+    schemeId: "smithy.api#httpBearerAuth",
+    propertiesExtractor: (__config, context) => ({
+      /**
+       * @internal
+       */
+      identityProperties: {
+        __config,
+      },
+    }),
+  };
+}
+
+/**
+ * @internal
+ */
+export interface CodeCatalystHttpAuthSchemeProvider
+  extends HttpAuthSchemeProvider<CodeCatalystHttpAuthSchemeParameters> {}
+
+/**
+ * @internal
+ */
+export const defaultCodeCatalystHttpAuthSchemeProvider: CodeCatalystHttpAuthSchemeProvider = (authParameters) => {
+  const options: HttpAuthOption[] = [];
+  switch (authParameters.operation) {
+    default: {
+      options.push(createSmithyApiHttpBearerAuthHttpAuthOption(authParameters));
+    }
+  }
+  return options;
+};
+
+/**
+ * @internal
+ */
+export interface HttpAuthSchemeInputConfig {
+  /**
+   * experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
+   * @internal
+   */
+  httpAuthSchemes?: HttpAuthScheme[];
+
+  /**
+   * experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
+   * @internal
+   */
+  httpAuthSchemeProvider?: CodeCatalystHttpAuthSchemeProvider;
+
+  /**
+   * The token used to authenticate requests.
+   */
+  token?: TokenIdentity | TokenIdentityProvider;
+}
+
+/**
+ * @internal
+ */
+export interface HttpAuthSchemeResolvedConfig {
+  /**
+   * experimentalIdentityAndAuth: Configuration of HttpAuthSchemes for a client which provides default identity providers and signers per auth scheme.
+   * @internal
+   */
+  readonly httpAuthSchemes: HttpAuthScheme[];
+
+  /**
+   * experimentalIdentityAndAuth: Configuration of an HttpAuthSchemeProvider for a client which resolves which HttpAuthScheme to use.
+   * @internal
+   */
+  readonly httpAuthSchemeProvider: CodeCatalystHttpAuthSchemeProvider;
+
+  /**
+   * The token used to authenticate requests.
+   */
+  readonly token?: TokenIdentityProvider;
+}
+
+/**
+ * @internal
+ */
+export const resolveHttpAuthSchemeConfig = (config: HttpAuthSchemeInputConfig): HttpAuthSchemeResolvedConfig => {
+  const token = memoizeIdentityProvider(config.token, isIdentityExpired, doesIdentityRequireRefresh);
+  return {
+    ...config,
+    token,
+  } as HttpAuthSchemeResolvedConfig;
+};
diff --git a/clients/client-codecatalyst/src/extensionConfiguration.ts b/clients/client-codecatalyst/src/extensionConfiguration.ts
index 7bcb9972d231..9574c77b1b5d 100644
--- a/clients/client-codecatalyst/src/extensionConfiguration.ts
+++ b/clients/client-codecatalyst/src/extensionConfiguration.ts
@@ -3,10 +3,13 @@ import { AwsRegionExtensionConfiguration } from "@aws-sdk/types";
 import { HttpHandlerExtensionConfiguration } from "@smithy/protocol-http";
 import { DefaultExtensionConfiguration } from "@smithy/types";
 
+import { HttpAuthExtensionConfiguration } from "./auth/httpAuthExtensionConfiguration";
+
 /**
  * @internal
  */
 export interface CodeCatalystExtensionConfiguration
   extends HttpHandlerExtensionConfiguration,
     DefaultExtensionConfiguration,
-    AwsRegionExtensionConfiguration {}
+    AwsRegionExtensionConfiguration,
+    HttpAuthExtensionConfiguration {}
diff --git a/clients/client-codecatalyst/src/runtimeConfig.browser.ts b/clients/client-codecatalyst/src/runtimeConfig.browser.ts
index 27d40ffd6d3d..28480b6112cf 100644
--- a/clients/client-codecatalyst/src/runtimeConfig.browser.ts
+++ b/clients/client-codecatalyst/src/runtimeConfig.browser.ts
@@ -5,7 +5,9 @@ import packageInfo from "../package.json"; // eslint-disable-line
 import { Sha256 } from "@aws-crypto/sha256-browser";
 import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
 import { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from "@smithy/config-resolver";
+import { HttpBearerAuthSigner } from "@smithy/core";
 import { FetchHttpHandler as RequestHandler, streamCollector } from "@smithy/fetch-http-handler";
+import { IdentityProviderConfig } from "@smithy/types";
 import { calculateBodyLength } from "@smithy/util-body-length-browser";
 import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@smithy/util-retry";
 import { CodeCatalystClientConfig } from "./CodeCatalystClient";
@@ -29,6 +31,17 @@ export const getRuntimeConfig = (config: CodeCatalystClientConfig) => {
     defaultUserAgentProvider:
       config?.defaultUserAgentProvider ??
       defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
+    httpAuthSchemes: config?.httpAuthSchemes ?? [
+      {
+        schemeId: "smithy.api#httpBearerAuth",
+        identityProvider: (ipc: IdentityProviderConfig) =>
+          ipc.getIdentityProvider("smithy.api#httpBearerAuth") ||
+          (async () => {
+            throw new Error("`token` is missing");
+          }),
+        signer: new HttpBearerAuthSigner(),
+      },
+    ],
     maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
     requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
     retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),
diff --git a/clients/client-codecatalyst/src/runtimeConfig.shared.ts b/clients/client-codecatalyst/src/runtimeConfig.shared.ts
index b943dc0d21d9..28d409ae38f6 100644
--- a/clients/client-codecatalyst/src/runtimeConfig.shared.ts
+++ b/clients/client-codecatalyst/src/runtimeConfig.shared.ts
@@ -1,9 +1,12 @@
 // smithy-typescript generated code
+import { HttpBearerAuthSigner } from "@smithy/core";
 import { NoOpLogger } from "@smithy/smithy-client";
+import { IdentityProviderConfig } from "@smithy/types";
 import { parseUrl } from "@smithy/url-parser";
 import { fromBase64, toBase64 } from "@smithy/util-base64";
 import { fromUtf8, toUtf8 } from "@smithy/util-utf8";
 
+import { defaultCodeCatalystHttpAuthSchemeProvider } from "./auth/httpAuthSchemeProvider";
 import { CodeCatalystClientConfig } from "./CodeCatalystClient";
 import { defaultEndpointResolver } from "./endpoint/endpointResolver";
 
@@ -18,6 +21,14 @@ export const getRuntimeConfig = (config: CodeCatalystClientConfig) => {
     disableHostPrefix: config?.disableHostPrefix ?? false,
     endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,
     extensions: config?.extensions ?? [],
+    httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultCodeCatalystHttpAuthSchemeProvider,
+    httpAuthSchemes: config?.httpAuthSchemes ?? [
+      {
+        schemeId: "smithy.api#httpBearerAuth",
+        identityProvider: (ipc: IdentityProviderConfig) => ipc.getIdentityProvider("smithy.api#httpBearerAuth"),
+        signer: new HttpBearerAuthSigner(),
+      },
+    ],
     logger: config?.logger ?? new NoOpLogger(),
     serviceId: config?.serviceId ?? "CodeCatalyst",
     urlParser: config?.urlParser ?? parseUrl,
diff --git a/clients/client-codecatalyst/src/runtimeConfig.ts b/clients/client-codecatalyst/src/runtimeConfig.ts
index 0d76cdde0898..e9568e9925ab 100644
--- a/clients/client-codecatalyst/src/runtimeConfig.ts
+++ b/clients/client-codecatalyst/src/runtimeConfig.ts
@@ -3,15 +3,18 @@
 import packageInfo from "../package.json"; // eslint-disable-line
 
 import { emitWarningIfUnsupportedVersion as awsCheckVersion } from "@aws-sdk/core";
+import { nodeProvider } from "@aws-sdk/token-providers";
 import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
 import {
   NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,
   NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,
 } from "@smithy/config-resolver";
+import { HttpBearerAuthSigner } from "@smithy/core";
 import { Hash } from "@smithy/hash-node";
 import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from "@smithy/middleware-retry";
 import { loadConfig as loadNodeConfig } from "@smithy/node-config-provider";
 import { NodeHttpHandler as RequestHandler, streamCollector } from "@smithy/node-http-handler";
+import { IdentityProviderConfig } from "@smithy/types";
 import { calculateBodyLength } from "@smithy/util-body-length-node";
 import { DEFAULT_RETRY_MODE } from "@smithy/util-retry";
 import { CodeCatalystClientConfig } from "./CodeCatalystClient";
@@ -38,6 +41,15 @@ export const getRuntimeConfig = (config: CodeCatalystClientConfig) => {
     defaultUserAgentProvider:
       config?.defaultUserAgentProvider ??
       defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
+    httpAuthSchemes: config?.httpAuthSchemes ?? [
+      {
+        schemeId: "smithy.api#httpBearerAuth",
+        identityProvider: (ipc: IdentityProviderConfig) =>
+          ipc.getIdentityProvider("smithy.api#httpBearerAuth") ||
+          (async (idProps) => await nodeProvider(idProps?.__config || {})(idProps)),
+        signer: new HttpBearerAuthSigner(),
+      },
+    ],
     maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),
     requestHandler: config?.requestHandler ?? new RequestHandler(defaultConfigProvider),
     retryMode:
diff --git a/clients/client-codecatalyst/src/runtimeExtensions.ts b/clients/client-codecatalyst/src/runtimeExtensions.ts
index 0e9ccbc4a021..9a3400cfdef1 100644
--- a/clients/client-codecatalyst/src/runtimeExtensions.ts
+++ b/clients/client-codecatalyst/src/runtimeExtensions.ts
@@ -6,6 +6,7 @@ import {
 import { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from "@smithy/protocol-http";
 import { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from "@smithy/smithy-client";
 
+import { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from "./auth/httpAuthExtensionConfiguration";
 import { CodeCatalystExtensionConfiguration } from "./extensionConfiguration";
 
 /**
@@ -32,6 +33,7 @@ export const resolveRuntimeExtensions = (runtimeConfig: any, extensions: Runtime
     ...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),
     ...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),
     ...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),
+    ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)),
   };
 
   extensions.forEach((extension) => extension.configure(extensionConfiguration));
@@ -41,5 +43,6 @@ export const resolveRuntimeExtensions = (runtimeConfig: any, extensions: Runtime
     ...resolveAwsRegionExtensionConfiguration(extensionConfiguration),
     ...resolveDefaultRuntimeConfig(extensionConfiguration),
     ...resolveHttpHandlerRuntimeConfig(extensionConfiguration),
+    ...resolveHttpAuthRuntimeConfig(extensionConfiguration),
   };
 };

Additional context

Add any other context about the PR here.

N/A.


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@syall syall force-pushed the experimentalIdentityAndAuth-phase-1 branch from 6010b56 to 7319cb5 Compare October 2, 2023 22:42
@syall syall changed the title feat(experimentalIdentityAndAuth): release phase 1 feat(experimentalIdentityAndAuth): release phase for @smithy.api#httpBearerAuth Nov 13, 2023
@syall syall force-pushed the experimentalIdentityAndAuth-phase-1 branch 3 times, most recently from 849c44e to 9a6a5ff Compare November 13, 2023 21:13
@syall syall force-pushed the experimentalIdentityAndAuth-phase-1 branch from 9a6a5ff to e938a8f Compare November 13, 2023 21:45
@syall syall force-pushed the experimentalIdentityAndAuth-phase-1 branch 2 times, most recently from de7316d to 599ed59 Compare November 14, 2023 00:51
@syall syall marked this pull request as ready for review November 14, 2023 00:57
@syall syall requested a review from a team as a code owner November 14, 2023 00:57
@syall syall force-pushed the experimentalIdentityAndAuth-phase-1 branch 4 times, most recently from de9b465 to 7639ddd Compare November 14, 2023 14:36
@syall syall force-pushed the experimentalIdentityAndAuth-phase-1 branch from 7639ddd to 42fd7b8 Compare November 14, 2023 17:01
@syall syall force-pushed the experimentalIdentityAndAuth-phase-1 branch from 42fd7b8 to 9eac44a Compare November 14, 2023 17:28
@syall syall merged commit 2e1ac5b into aws:main Nov 14, 2023
@syall syall deleted the experimentalIdentityAndAuth-phase-1 branch November 14, 2023 18:17
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs and link to relevant comments in this thread.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 29, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants