@aws-sdk/token-providers

Installation

NPM
npm install @aws-sdk/token-providers
Yarn
yarn add @aws-sdk/token-providers
pnpm
pnpm add @aws-sdk/token-providers

A collection of all token providers. The token providers should be used when the authorization type is going to be token based. For example, the bearer authorization type set using httpBearerAuth trait  in Smithy.

Static Token Provider

import { fromStatic } from "@aws-sdk/token-providers";

const token = { token: "TOKEN" };
const staticTokenProvider = fromStatic(token);

const staticToken = await staticTokenProvider(); // returns { token: "TOKEN" }

SSO Token Provider

import { fromSso } from "@aws-sdk/token-providers";

// returns token from SSO token cache or ssoOidc.createToken() call.
const ssoToken = await fromSso();

Token Provider Chain

import { nodeProvider } from "@aws-sdk/token-providers";

// returns token from default providers.
const token = await nodeProvider();

Development

This package contains a minimal copy of the SSO OIDC client, instead of relying on the full client, which would cause a circular dependency.

When regenerating the bundled version of the SSO OIDC client, run the esbuild.js script and then make the following changes:

  • Remove any dependency of the generated client on the credential chain such that it would create a circular dependency back to this package. Because we only need the CreateTokenCommand, the client, and this command's associated Exceptions, it is possible to remove auth dependencies.
  • Ensure all required packages are declared in the package.json of token-providers.

Types

Type Name
Type
fromSsoVariable
FromSsoInitInterface
fromStaticVariable
FromStaticInitInterface
nodeProviderVariable