AWS.TokenProviderChain — AWS SDK for JavaScript (original) (raw)

We recommend that you migrate to AWS SDK for JavaScript v3. For dates, additional details, and information on how to migrate, please refer to the linked announcement.

Overview

Creates a token provider chain that searches for token in a list of token providers specified by the providers property.

By default, the chain will use the defaultProviders to resolve token.

Setting Providers

Each provider in the providers list should be a function that returns a AWS.Token object, or a hardcoded token object. The function form allows for delayed execution of the Token construction.

Resolving Token from a Chain

Call resolve() to return the first valid token object that can be loaded by the provider chain.

For example, to resolve a chain with a custom provider that checks a file on disk after the set of defaultProviders:

var diskProvider = new FileTokenProvider('./token.json');
var chain = new AWS.TokenProviderChain();
chain.providers.push(diskProvider);
chain.resolve();

The above code will return the diskProvider object if the file contains token and the defaultProviders do not contain any token.

Constructor Summarycollapse

Property Summarycollapse

Properties inherited from AWS.Token

token, expireTime, expired, expiryWindow

Method Summarycollapse

Methods inherited from AWS.Token

needsRefresh, get, getPromise, refreshPromise, refresh

Constructor Details

new AWS.TokenProviderChain(providers) ⇒ void

Creates a new TokenProviderChain with a default set of providers specified by defaultProviders.

Property Details

defaultProviders ⇒ Object

The default set of providers used by a vanilla TokenProviderChain.

In the browser:

AWS.TokenProviderChain.defaultProviders = []

In Node.js:

AWS.TokenProviderChain.defaultProviders = [
  function () { return new AWS.SSOTokenProvider(); },
]

providers ⇒ Array<AWS.Token, Function>

Returns a list of token objects or functions that return token objects. If the provider is a function, the function will be executed lazily when the provider needs to be checked for valid token. By default, this object will be set to the defaultProviders.

Method Details

resolvePromise() ⇒ Promise

Returns a 'thenable' promise. Resolves the provider chain by searching for the first token in providers.

Two callbacks can be provided to the then method on the returned promise. The first callback will be called if the promise is fulfilled, and the second callback will be called if the promise is rejected.