@shopify/shopify-app-remix
Version:
Shopify Remix - to simplify the building of Shopify Apps with Remix
1 lines • 3.38 kB
Source Map (JSON)
{"version":3,"file":"login.mjs","sources":["../../../../../../src/server/authenticate/login/login.ts"],"sourcesContent":["import {redirect} from '@remix-run/server-runtime';\n\nimport {BasicParams, LoginError, LoginErrorType} from '../../types';\n\nexport function loginFactory(params: BasicParams) {\n const {api, config, logger} = params;\n\n return async function login(request: Request): Promise<LoginError | never> {\n const url = new URL(request.url);\n const shopParam = url.searchParams.get('shop');\n\n if (request.method === 'GET' && !shopParam) {\n return {};\n }\n\n const shop: string | null =\n shopParam || ((await request.formData()).get('shop') as string);\n\n if (!shop) {\n logger.debug('Missing shop parameter', {shop});\n return {shop: LoginErrorType.MissingShop};\n }\n\n const shopWithoutProtocol = shop\n .replace(/^https?:\\/\\//, '')\n .replace(/\\/$/, '');\n const shopWithDomain =\n shop?.indexOf('.') === -1\n ? `${shopWithoutProtocol}.myshopify.com`\n : shopWithoutProtocol;\n const sanitizedShop = api.utils.sanitizeShop(shopWithDomain);\n\n if (!sanitizedShop) {\n logger.debug('Invalid shop parameter', {shop});\n return {shop: LoginErrorType.InvalidShop};\n }\n\n const authPath = `${config.appUrl}${config.auth.path}?shop=${sanitizedShop}`;\n\n const adminPath = api.utils.legacyUrlToShopAdminUrl(sanitizedShop);\n const installPath = `https://${adminPath}/oauth/install?client_id=${config.apiKey}`;\n\n const shouldInstall =\n config.isEmbeddedApp && config.future.unstable_newEmbeddedAuthStrategy;\n const redirectUrl = shouldInstall ? installPath : authPath;\n\n logger.info(`Redirecting login request to ${redirectUrl}`, {\n shop: sanitizedShop,\n });\n\n throw redirect(redirectUrl);\n };\n}\n"],"names":[],"mappings":";;;AAIM,SAAU,YAAY,CAAC,MAAmB,EAAA;IAC9C,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;AAEpC,IAAA,OAAO,eAAe,KAAK,CAAC,OAAgB,EAAA;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;QAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC1C,YAAA,OAAO,EAAE;QACX;AAEA,QAAA,MAAM,IAAI,GACR,SAAS,IAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAY;QAEjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAC;QAC3C;QAEA,MAAM,mBAAmB,GAAG;AACzB,aAAA,OAAO,CAAC,cAAc,EAAE,EAAE;AAC1B,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,cAAc,GAClB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK;cACnB,CAAA,EAAG,mBAAmB,CAAA,cAAA;cACtB,mBAAmB;QACzB,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;QAE5D,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAC;QAC3C;AAEA,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA,MAAA,EAAS,aAAa,EAAE;QAE5E,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC;QAClE,MAAM,WAAW,GAAG,CAAA,QAAA,EAAW,SAAS,4BAA4B,MAAM,CAAC,MAAM,CAAA,CAAE;QAEnF,MAAM,aAAa,GACjB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,gCAAgC;QACxE,MAAM,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ;AAE1D,QAAA,MAAM,CAAC,IAAI,CAAC,CAAA,6BAAA,EAAgC,WAAW,EAAE,EAAE;AACzD,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA,CAAC;AAEF,QAAA,MAAM,QAAQ,CAAC,WAAW,CAAC;AAC7B,IAAA,CAAC;AACH;;;;"}