UNPKG

card-management-sdk

Version:

The Shell Card Management API is REST-based and employs OAUTH 2.0,Basic and ApiKey authentication. The API endpoints accept JSON-encoded request bodies, return JSON-encoded responses and use standard HTTP response codes. All resources are located in the S

30 lines 1.4 kB
/** * Shell Card Management APIsLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { basicAuthenticationProvider, compositeAuthenticationProvider, requestAuthenticationProvider, } from './authentication'; export function createAuthProviderFromConfig(config, bearerToken) { const authConfig = { basicAuth: config.basicAuthCredentials && basicAuthenticationProvider(config.basicAuthCredentials.username, config.basicAuthCredentials.password), bearerToken: config.bearerTokenCredentials && requestAuthenticationProvider(config.bearerTokenCredentials.oAuthToken, bearerTokenTokenProvider(bearerToken, config.bearerTokenCredentials.oAuthTokenProvider), config.bearerTokenCredentials.oAuthOnTokenUpdate, { clockSkew: config.bearerTokenCredentials.oAuthClockSkew, }), }; return compositeAuthenticationProvider(authConfig); } function bearerTokenTokenProvider(bearerToken, defaultProvider) { return (token) => { const manager = bearerToken(); if (manager === undefined) { throw Error('Unable to find the OAuthManager instance'); } if (defaultProvider === undefined) { return manager.updateToken(token); } return defaultProvider(token, manager); }; } //# sourceMappingURL=authProvider.js.map