UNPKG

@contentgrid/fetch-hook-authentication

Version:
40 lines (35 loc) 1.71 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var request = require('@contentgrid/fetch-hooks/request'); var valueProvider = require('@contentgrid/fetch-hooks/value-provider'); var tokenSupplier_composite = require('./token-supplier/composite.js'); var tokenSupplier_contentgridTokenExchange = require('./token-supplier/contentgridTokenExchange.js'); require('@contentgrid/fetch-hooks'); require('whatwg-mimetype'); function createBearerAuthenticationHook(opts) { const tokenSupplierResolver = valueProvider.ValueProviderResolver.fromValueProvider(opts.tokenSupplier); return request.setHeader("Authorization", async _ref => { let { request, entrypoint } = _ref; const tokenSupplier = await tokenSupplierResolver.resolve(); const authenticationToken = await tokenSupplier(request.url, { signal: request.signal, fetch: entrypoint }); if (authenticationToken) { return "Bearer " + authenticationToken.token; } else { return null; } }); } exports.CompositeTokenSupplierBuilder = tokenSupplier_composite.CompositeTokenSupplierBuilder; exports.createCompositeTokenSupplier = tokenSupplier_composite.default; exports.OAuth2AuthenticationError = tokenSupplier_contentgridTokenExchange.OAuth2AuthenticationError; exports.TokenExchangeError = tokenSupplier_contentgridTokenExchange.TokenExchangeError; exports.TokenExchangeProtocolViolationError = tokenSupplier_contentgridTokenExchange.TokenExchangeProtocolViolationError; exports.createContentgridTokenExchangeTokenSupplier = tokenSupplier_contentgridTokenExchange.default; exports.default = createBearerAuthenticationHook; //# sourceMappingURL=index.js.map