{"version":3,"file":"authenticate.mjs","sources":["../../../../../../../src/server/authenticate/public/extension/authenticate.ts"],"sourcesContent":["import {BasicParams} from '../../../types';\nimport {\n  respondToBotRequest,\n  respondToOptionsRequest,\n  getSessionTokenHeader,\n  validateSessionToken,\n  ensureCORSHeadersFactory,\n  getShopFromRequest,\n} from '../../helpers';\n\nimport {AuthenticateExtension, ExtensionContext} from './types';\n\nexport function authenticateExtensionFactory(\n  params: BasicParams,\n  requestType: string,\n): AuthenticateExtension {\n  return async function authenticateExtension(\n    request,\n    options = {},\n  ): Promise<ExtensionContext> {\n    const {logger} = params;\n\n    const corsHeaders = options.corsHeaders ?? [];\n\n    respondToBotRequest(params, request);\n    respondToOptionsRequest(params, request, corsHeaders);\n\n    const sessionTokenHeader = getSessionTokenHeader(request);\n\n    logger.info(`Authenticating ${requestType} request`, {\n      shop: getShopFromRequest(request),\n    });\n\n    if (!sessionTokenHeader) {\n      logger.debug('Request did not contain a session token', {\n        shop: getShopFromRequest(request),\n      });\n      throw new Response(undefined, {\n        status: 401,\n        statusText: 'Unauthorized',\n      });\n    }\n\n    return {\n      sessionToken: await validateSessionToken(\n        params,\n        request,\n        sessionTokenHeader,\n        {checkAudience: false, retryRequest: false},\n      ),\n      cors: ensureCORSHeadersFactory(params, request, corsHeaders),\n    };\n  };\n}\n"],"names":[],"mappings":";;;;;;;;;AAYM,SAAU,4BAA4B,CAC1C,MAAmB,EACnB,WAAmB,EAAA;IAEnB,OAAO,eAAe,qBAAqB,CACzC,OAAO,EACP,OAAO,GAAG,EAAE,EAAA;AAEZ,QAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM;AAEvB,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE;AAE7C,QAAA,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC;AACpC,QAAA,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC;AAErD,QAAA,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC;AAEzD,QAAA,MAAM,CAAC,IAAI,CAAC,CAAA,eAAA,EAAkB,WAAW,UAAU,EAAE;AACnD,YAAA,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC;AAClC,SAAA,CAAC;QAEF,IAAI,CAAC,kBAAkB,EAAE;AACvB,YAAA,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;AACtD,gBAAA,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC;AAClC,aAAA,CAAC;AACF,YAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,UAAU,EAAE,cAAc;AAC3B,aAAA,CAAC;QACJ;QAEA,OAAO;AACL,YAAA,YAAY,EAAE,MAAM,oBAAoB,CACtC,MAAM,EACN,OAAO,EACP,kBAAkB,EAClB,EAAC,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAC,CAC5C;YACD,IAAI,EAAE,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC;SAC7D;AACH,IAAA,CAAC;AACH;;;;"}