UNPKG

@shopify/shopify-app-react-router

Version:

Shopify React Router - to simplify the building of Shopify Apps with React Router

1 lines 2.05 kB
{"version":3,"file":"validate-session-token.mjs","sources":["../../../../../../src/server/authenticate/helpers/validate-session-token.ts"],"sourcesContent":["import {JwtPayload} from '@shopify/shopify-api';\n\nimport type {BasicParams} from '../../types';\n\nimport {respondToInvalidSessionToken} from './respond-to-invalid-session-token';\nimport {getShopFromRequest} from './get-shop-from-request';\n\ninterface ValidateSessionTokenOptions {\n checkAudience?: boolean;\n retryRequest?: boolean;\n}\n\nexport async function validateSessionToken(\n params: BasicParams,\n request: Request,\n token: string,\n {checkAudience = true, retryRequest = true}: ValidateSessionTokenOptions = {},\n): Promise<JwtPayload> {\n const {api, logger} = params;\n const shop = getShopFromRequest(request);\n logger.debug('Validating session token', {shop});\n\n try {\n const payload = await api.session.decodeSessionToken(token, {\n checkAudience,\n });\n logger.debug('Session token is valid - validated', {\n shop,\n payload: JSON.stringify(payload),\n });\n\n return payload;\n } catch (error) {\n logger.debug(`Failed to validate session token: ${error.message}`, {\n shop,\n });\n\n throw respondToInvalidSessionToken({params, request, retryRequest});\n }\n}\n"],"names":[],"mappings":";;;AAYO,eAAe,oBAAoB,CACxC,MAAmB,EACnB,OAAgB,EAChB,KAAa,EACb,EAAC,aAAa,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI,KAAiC,EAAE,EAAA;AAE7E,IAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM;AAC5B,IAAA,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC;IACxC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAC,IAAI,EAAC,CAAC;AAEhD,IAAA,IAAI;QACF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE;YAC1D,aAAa;AACd,SAAA,CAAC;AACF,QAAA,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;YACjD,IAAI;AACJ,YAAA,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AACjC,SAAA,CAAC;AAEF,QAAA,OAAO,OAAO;IAChB;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,CAAA,kCAAA,EAAqC,KAAK,CAAC,OAAO,EAAE,EAAE;YACjE,IAAI;AACL,SAAA,CAAC;QAEF,MAAM,4BAA4B,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAC,CAAC;IACrE;AACF;;;;"}