UNPKG

@contentgrid/fetch-hook-authentication

Version:
30 lines (27 loc) 1.19 kB
import { setHeader } from '@contentgrid/fetch-hooks/request'; import { ValueProviderResolver } from '@contentgrid/fetch-hooks/value-provider'; export { CompositeTokenSupplierBuilder, default as createCompositeTokenSupplier } from './token-supplier/composite.mjs'; export { OAuth2AuthenticationError, TokenExchangeError, TokenExchangeProtocolViolationError, default as createContentgridTokenExchangeTokenSupplier } from './token-supplier/contentgridTokenExchange.mjs'; import '@contentgrid/fetch-hooks'; import 'whatwg-mimetype'; function createBearerAuthenticationHook(opts) { const tokenSupplierResolver = ValueProviderResolver.fromValueProvider(opts.tokenSupplier); return 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; } }); } export { createBearerAuthenticationHook as default }; //# sourceMappingURL=index.mjs.map