@shopify/shopify-app-remix
Version:
Shopify Remix - to simplify the building of Shopify Apps with Remix
1 lines • 2.85 kB
Source Map (JSON)
{"version":3,"file":"validate-shop-and-host-params.mjs","sources":["../../../../../../../src/server/authenticate/admin/helpers/validate-shop-and-host-params.ts"],"sourcesContent":["import {redirect} from '@remix-run/server-runtime';\n\nimport {BasicParams} from '../../../types';\n\nexport function validateShopAndHostParams(\n params: BasicParams,\n request: Request,\n) {\n const {api, config, logger} = params;\n\n if (config.isEmbeddedApp) {\n const url = new URL(request.url);\n const shop = api.utils.sanitizeShop(url.searchParams.get('shop')!);\n if (!shop) {\n logger.debug('Missing or invalid shop, redirecting to login path', {\n shop,\n });\n throw redirectToLoginPath(request, params);\n }\n\n const host = api.utils.sanitizeHost(url.searchParams.get('host')!);\n if (!host) {\n logger.debug('Invalid host, redirecting to login path', {\n shop,\n host: url.searchParams.get('host'),\n });\n throw redirectToLoginPath(request, params);\n }\n }\n}\n\nfunction redirectToLoginPath(request: Request, params: BasicParams): never {\n const {config, logger} = params;\n\n const {pathname} = new URL(request.url);\n if (pathname === config.auth.loginPath) {\n const message =\n `Detected call to shopify.authenticate.admin() from configured login path ` +\n `('${config.auth.loginPath}'), please make sure to call shopify.login() from that route instead.`;\n\n logger.debug(message);\n throw new Response(message, {status: 500});\n }\n\n throw redirect(config.auth.loginPath);\n}\n"],"names":[],"mappings":";;AAIM,SAAU,yBAAyB,CACvC,MAAmB,EACnB,OAAgB,EAAA;IAEhB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;AAEpC,IAAA,IAAI,MAAM,CAAC,aAAa,EAAE;QACxB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;AAChC,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAClE,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;gBACjE,IAAI;AACL,aAAA,CAAC;AACF,YAAA,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC;QAC5C;AAEA,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAClE,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;gBACtD,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AACnC,aAAA,CAAC;AACF,YAAA,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC;QAC5C;IACF;AACF;AAEA,SAAS,mBAAmB,CAAC,OAAgB,EAAE,MAAmB,EAAA;AAChE,IAAA,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;IAE/B,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;IACvC,IAAI,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;QACtC,MAAM,OAAO,GACX,CAAA,yEAAA,CAA2E;AAC3E,YAAA,CAAA,EAAA,EAAK,MAAM,CAAC,IAAI,CAAC,SAAS,uEAAuE;AAEnG,QAAA,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QACrB,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC;IAC5C;IAEA,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AACvC;;;;"}