@agnostack/next-shopify 1.13.4-beta.8 → 1.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,8 @@ const tslib_1 = require("tslib");
5
5
  /* eslint-disable @typescript-eslint/no-unused-vars */
6
6
  const nextjs_cors_1 = tslib_1.__importDefault(require("nextjs-cors"));
7
7
  const http_proxy_1 = tslib_1.__importDefault(require("http-proxy"));
8
+ const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
9
+ const node_http_proxy_json_1 = tslib_1.__importDefault(require("node-http-proxy-json"));
8
10
  const utils_1 = require("../../utils");
9
11
  const shared_1 = require("../../../shared");
10
12
  const PROXY_TIMEOUT = 6000; // NOTE: 6 seconds
@@ -15,44 +17,56 @@ const verifyAppProxySignature = (signature, verifiable, hmacSecret) => {
15
17
  const handleProxy = (serverRuntimeConfig, config) => (req, res, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
16
18
  var _a, _b;
17
19
  const { generateReplacements } = config !== null && config !== void 0 ? config : {};
18
- const { API_PATHS, APP_CONFIG, APP_BASE_URL, TARGET_SAFELIST, ORIGIN_SAFELIST, } = serverRuntimeConfig;
19
- const _c = (_a = req.headers) !== null && _a !== void 0 ? _a : {}, { origin, 'x-forwarded-for': _forwardFor, 'x-forwarded-proto': _forwardProto, 'x-forwarded-host': forwardHost, 'x-proxy-origin': proxyOrigin } = _c, _headers = tslib_1.__rest(_c, ["origin", 'x-forwarded-for', 'x-forwarded-proto', 'x-forwarded-host', 'x-proxy-origin']);
20
- const { 'x-extension-session': sessionToken, 'x-extension-point': extensionPoint, 'x-shop-domain': shopDomainHeader, 'x-shopify-shop-domain': shopifyShopDomainHeader, 'x-shopify-shop': shopHeader = shopifyShopDomainHeader !== null && shopifyShopDomainHeader !== void 0 ? shopifyShopDomainHeader : shopDomainHeader,
20
+ const { keyPairs, API_PATHS, APP_CONFIG, APP_BASE_URL, TARGET_SAFELIST, ORIGIN_SAFELIST, } = serverRuntimeConfig;
21
+ const _c = (_a = req.headers) !== null && _a !== void 0 ? _a : {}, { origin, 'x-public-key': apiKey, 'x-ephemeral-key': ephemeralPublicKey, 'x-authorization-timestamp': customAuthTimestamp, 'x-authorization': customAuth, 'x-forwarded-for': _forwardFor, 'x-forwarded-proto': _forwardProto, 'x-forwarded-host': forwardHost, 'x-proxy-origin': proxyOrigin } = _c, _headers = tslib_1.__rest(_c, ["origin", 'x-public-key', 'x-ephemeral-key', 'x-authorization-timestamp', 'x-authorization', 'x-forwarded-for', 'x-forwarded-proto', 'x-forwarded-host', 'x-proxy-origin']);
22
+ const { 'x-extension-session': sessionToken, 'x-extension-point': extensionPoint, 'x-shop-domain': shopDomainHeader, 'x-shopify-shop-domain': shopifyShopDomainHeader, 'x-shopify-shop': shopHeader = shopifyShopDomainHeader !== null && shopifyShopDomainHeader !== void 0 ? shopifyShopDomainHeader : shopDomainHeader, 'x-shopify-app-id': shopifyAppId, 'x-app-id': appId = shopifyAppId,
21
23
  // 'x-shopify-app-installation-id': shopifyAppInstallationId,
22
- 'x-shopify-app-id': shopifyAppId,
23
24
  // 'x-app-installation-id': appInstallationId = shopifyAppInstallationId, // TODO: pass along installationId??
24
- 'x-app-id': appId = shopifyAppId,
25
25
  // TODO: pass along providerSetId??
26
26
  } = _headers;
27
- // NOTE: GET requests are not always sending along origin
28
- if ((0, shared_1.stringEmpty)(origin)) {
29
- req.headers = Object.assign(Object.assign({}, req.headers), { origin: proxyOrigin || forwardHost });
30
- }
31
- const _d = (_b = req.query) !== null && _b !== void 0 ? _b : {}, { signature, proxyEncoded } = _d, verifiable = tslib_1.__rest(_d, ["signature", "proxyEncoded"]);
32
- const { shop: _shop, host, timestamp, path_prefix } = verifiable;
33
- const shop = _shop || shopHeader;
34
- yield (0, nextjs_cors_1.default)(req, res, {
35
- methods: ['PUT', 'PATCH', 'POST', 'DELETE'],
36
- origin: (origin, callback) => {
37
- const isSafelisted = (0, shared_1.matchHostname)(origin, [
38
- ...ORIGIN_SAFELIST,
39
- 'cdn.shopify.com' // NOTE: this is the domain for checkout UI extensions
40
- ]);
41
- if (isSafelisted) {
42
- return callback(null, true);
43
- }
44
- return callback(new Error('Invalid CORS origin'));
45
- },
46
- optionsSuccessStatus: 200, // some legacy browsers (IE11, various SmartTVs) choke on 204
47
- });
48
- const { target: targetParam } = params !== null && params !== void 0 ? params : {};
49
- const _targetUrl = ((0, shared_1.stringEmpty)(targetParam) || targetParam.startsWith('http')) ? targetParam : `${APP_BASE_URL}/${(0, shared_1.removeLeadingSlash)(targetParam)}`;
50
- const { origin: target, hostname, pathname, search } = (0, shared_1.stringNotEmpty)(_targetUrl) ? new URL(_targetUrl) : {};
51
- let targetPath = [pathname, search].filter(shared_1.stringNotEmpty).join('');
52
- let headers;
27
+ let targetPath;
53
28
  try {
29
+ const [authProtocol, authSignature] = (0, shared_1.ensureString)(customAuth).split(' ');
30
+ const isVerifiable = (apiKey &&
31
+ ephemeralPublicKey &&
32
+ (keyPairs === null || keyPairs === void 0 ? void 0 : keyPairs.shared) &&
33
+ customAuthTimestamp &&
34
+ authSignature &&
35
+ (authProtocol === 'HMAC-SHA256'));
36
+ let verificationKeys;
37
+ // NOTE raw request body is required for shopify's validation
38
+ const _rawBody = yield (0, raw_body_1.default)(req);
39
+ const rawBody = _rawBody.toString();
40
+ const parsedBody = JSON.parse(rawBody || '{}'); // NOTE: parsedBody should be encrypted when isVerifiable
41
+ let decryptedBody = parsedBody;
42
+ // NOTE: GET requests are not always sending along origin
43
+ if ((0, shared_1.stringEmpty)(origin)) {
44
+ req.headers = Object.assign(Object.assign({}, req.headers), { origin: proxyOrigin || forwardHost });
45
+ }
46
+ const _d = (_b = req.query) !== null && _b !== void 0 ? _b : {}, { signature, proxyEncoded } = _d, verifiable = tslib_1.__rest(_d, ["signature", "proxyEncoded"]);
47
+ const { shop: _shop, host, timestamp, path_prefix } = verifiable;
48
+ const shop = _shop || shopHeader;
49
+ yield (0, nextjs_cors_1.default)(req, res, {
50
+ methods: ['PUT', 'PATCH', 'POST', 'DELETE'],
51
+ origin: (origin, callback) => {
52
+ const isSafelisted = (0, shared_1.matchHostname)(origin, [
53
+ ...ORIGIN_SAFELIST,
54
+ 'cdn.shopify.com' // NOTE: this is the domain for checkout UI extensions
55
+ ]);
56
+ if (isSafelisted) {
57
+ return callback(null, true);
58
+ }
59
+ return callback(new Error('Invalid CORS origin'));
60
+ },
61
+ optionsSuccessStatus: 200, // some legacy browsers (IE11, various SmartTVs) choke on 204
62
+ });
63
+ const { target: targetParam } = params !== null && params !== void 0 ? params : {};
64
+ // eslint-disable-next-line max-len
65
+ const _targetUrl = ((0, shared_1.stringEmpty)(targetParam) || targetParam.startsWith('http')) ? targetParam : `${APP_BASE_URL}/${(0, shared_1.removeLeadingSlash)(targetParam)}`;
66
+ const { origin: target, hostname, pathname, search } = (0, shared_1.stringNotEmpty)(_targetUrl) ? new URL(_targetUrl) : {};
67
+ targetPath = [pathname, search].filter(shared_1.stringNotEmpty).join('');
54
68
  const safelistedTarget = (0, shared_1.matchHostname)(hostname, Object.assign({ [new URL(APP_BASE_URL).hostname]: {
55
- // HMMM: can we generate our own session token so as to not have to tell handleGraph/Rest to behave as offline?
69
+ // HMMM: can we generate our own session token (or use the current one) so as to not have to tell handleGraph/Rest to behave as offline?
56
70
  // headers: {
57
71
  // Authorization: 'Bearer {{setting.zendesk.token}}',
58
72
  // },
@@ -75,7 +89,6 @@ const handleProxy = (serverRuntimeConfig, config) => (req, res, params) => tslib
75
89
  return res.status(403).json({ message: 'Invalid signature' });
76
90
  }
77
91
  // TODO: clean up targetParam.startsWith??
78
- console.log(`>>> > handleProxy > targetParam:`, { sessionToken, targetParam });
79
92
  if (!targetParam.startsWith(API_PATHS[shared_1.API_ROUTE_NAMES.SESSION_TOKEN])) {
80
93
  const _getVerifiedSessionData = (0, utils_1.getVerifiedSessionData)(serverRuntimeConfig);
81
94
  if (!_getVerifiedSessionData(sessionToken, { shop, host }).catch((_error) => {
@@ -91,34 +104,74 @@ const handleProxy = (serverRuntimeConfig, config) => (req, res, params) => tslib
91
104
  if ((0, shared_1.objectNotEmpty)(targetParams)) {
92
105
  targetPath = (0, shared_1.appendQuery)(targetPath, new URLSearchParams(targetParams).toString());
93
106
  }
107
+ // TEMP!!! remove isVerifiable check once webwidget moved to react
108
+ if (isVerifiable) {
109
+ if (!apiKey || !ephemeralPublicKey || !(keyPairs === null || keyPairs === void 0 ? void 0 : keyPairs.shared) || !customAuthTimestamp || !authSignature || (authProtocol !== 'HMAC-SHA256')) {
110
+ return res.status(401).json({ message: 'Invalid or missing authorization' });
111
+ }
112
+ verificationKeys = yield shared_1.subtle.getVerificationKeys({
113
+ publicKey: ephemeralPublicKey,
114
+ privateKey: keyPairs.shared.privateKey,
115
+ });
116
+ if (!verificationKeys) {
117
+ return res.status(412).json({ message: 'Invalid or missing verification' });
118
+ }
119
+ const verificationPayload = (0, shared_1.objectToSortedString)(Object.assign({ method: (0, shared_1.getRequestMethod)(rawBody, req.method), timestamp: customAuthTimestamp, body: parsedBody }, (0, shared_1.normalizeURIParts)(targetPath)));
120
+ const isValid = yield shared_1.subtle.verifyHMAC(verificationPayload, verificationKeys.derivedHMACKey, authSignature);
121
+ if (!isValid) {
122
+ return res.status(412).json({ message: 'Invalid or missing verification' });
123
+ }
124
+ if (rawBody) {
125
+ const decryptedMessage = yield shared_1.subtle.decryptMessage(parsedBody, verificationKeys.derivedSecretKey);
126
+ decryptedBody = JSON.parse(decryptedMessage !== null && decryptedMessage !== void 0 ? decryptedMessage : '{}');
127
+ }
128
+ }
94
129
  const _prepareHeaders = (0, utils_1.prepareHeaders)(serverRuntimeConfig);
95
- headers = yield _prepareHeaders({
130
+ const headers = yield _prepareHeaders({
96
131
  generateReplacements,
97
132
  shop,
98
133
  appId,
99
134
  headers: Object.assign(Object.assign({}, _headers), targetHeaders),
100
135
  });
136
+ const proxy = http_proxy_1.default.createProxy();
137
+ return new Promise((resolve, reject) => {
138
+ req.url = targetPath;
139
+ if (headers) {
140
+ req.headers = headers;
141
+ }
142
+ proxy.on('proxyReq', (proxyReq, proxyReqRequest, proxyReqResponse, options) => {
143
+ if ((0, shared_1.objectNotEmpty)(decryptedBody)) {
144
+ const bodyData = JSON.stringify(decryptedBody);
145
+ proxyReq.setHeader('Content-Length', Buffer.byteLength(bodyData));
146
+ proxyReq.write(bodyData);
147
+ }
148
+ });
149
+ proxy.on('proxyRes', function (proxyRes, proxyResRequest, proxyResResponse) {
150
+ (0, node_http_proxy_json_1.default)(proxyResResponse, proxyRes, function (proxyResBody) {
151
+ if (!proxyResBody || !isVerifiable || !verificationKeys) {
152
+ return proxyResBody;
153
+ }
154
+ return shared_1.subtle.encryptMessage(JSON.stringify(proxyResBody), verificationKeys.derivedSecretKey);
155
+ });
156
+ });
157
+ proxy.once('error', (error) => {
158
+ console.error('Proxy error', error);
159
+ reject(error);
160
+ });
161
+ proxy.web(req, res, {
162
+ target,
163
+ timeout: PROXY_TIMEOUT,
164
+ proxyTimeout: PROXY_TIMEOUT,
165
+ followRedirects: false,
166
+ changeOrigin: true,
167
+ secure: true,
168
+ });
169
+ });
101
170
  }
102
171
  catch (error) {
103
172
  console.error(`Error handling proxy request for '${targetPath}'`, error);
104
173
  return res.status(200).json({ message: (error === null || error === void 0 ? void 0 : error.message) || 'Error handling proxy request', targetPath });
105
174
  }
106
- const proxy = http_proxy_1.default.createProxy();
107
- return new Promise((_resolve, reject) => {
108
- req.url = targetPath;
109
- if (headers) {
110
- req.headers = headers;
111
- }
112
- proxy.once('error', reject);
113
- proxy.web(req, res, {
114
- target,
115
- timeout: PROXY_TIMEOUT,
116
- proxyTimeout: PROXY_TIMEOUT,
117
- followRedirects: false,
118
- changeOrigin: true,
119
- secure: true,
120
- });
121
- });
122
175
  });
123
176
  exports.handleProxy = handleProxy;
124
177
  //# sourceMappingURL=proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/proxy.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/proxy.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/token.js"],"names":[],"mappings":"AAgBO,qHA6JN"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/token.js"],"names":[],"mappings":"AAcO,qHAuHN"}
@@ -11,64 +11,38 @@ const shared_1 = require("../../../shared");
11
11
  // NOTE: typically handling: "/api/token"
12
12
  const handleSessionToken = (serverRuntimeConfig, signingData) => {
13
13
  const { keyPairs, APP_CONFIG, } = serverRuntimeConfig !== null && serverRuntimeConfig !== void 0 ? serverRuntimeConfig : {};
14
- console.log(`>>> > handleSessionToken > keyPairs:`, keyPairs);
15
14
  return (req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
16
- var _a, _b, _c;
15
+ var _a, _b;
17
16
  const { host } = (_a = req.query) !== null && _a !== void 0 ? _a : {};
18
- const _d = (_b = req.headers) !== null && _b !== void 0 ? _b : {}, {
19
- // origin, // TODO: should we bring in next-cors??
20
- authorization, 'x-public-key': apiKey, 'x-emphemeral-key': emphemeralPublicKey, 'x-authorization-timestamp': authTimestamp, 'x-shopify-app-installation-id': shopifyAppInstallationId, 'x-shopify-app-id': shopifyAppId, 'x-app-installation-id': appInstallationId = shopifyAppInstallationId, 'x-app-id': appId = shopifyAppId, 'x-key-id': keyId, // NOTE/TODO: these need to move to app metafields instead
17
+ const _c = (_b = req.headers) !== null && _b !== void 0 ? _b : {}, { 'x-shopify-app-installation-id': shopifyAppInstallationId, 'x-shopify-app-id': shopifyAppId, 'x-app-installation-id': appInstallationId = shopifyAppInstallationId,
21
18
  // TODO: pass along providerSetId??
22
- 'x-shop-domain': shopDomain, 'x-shopify-shop-domain': shopifyShopDomain, 'x-shopify-shop': shop = shopifyShopDomain !== null && shopifyShopDomain !== void 0 ? shopifyShopDomain : shopDomain } = _d, headers = tslib_1.__rest(_d, ["authorization", 'x-public-key', 'x-emphemeral-key', 'x-authorization-timestamp', 'x-shopify-app-installation-id', 'x-shopify-app-id', 'x-app-installation-id', 'x-app-id', 'x-key-id', 'x-shop-domain', 'x-shopify-shop-domain', 'x-shopify-shop']);
23
- console.log(`>>> > handleSessionToken > req.headers:`, req.headers);
24
- let body;
25
- let token;
19
+ 'x-app-id': appId = shopifyAppId, 'x-key-id': keyId, // NOTE: this is the Client in ZD token for messenger auth // NOTE/TODO: keyPairs.messenger need to move to app metafields instead
20
+ 'x-shop-domain': shopDomain, 'x-shopify-shop-domain': shopifyShopDomain, 'x-shopify-shop': shop = shopifyShopDomain !== null && shopifyShopDomain !== void 0 ? shopifyShopDomain : shopDomain } = _c, headers = tslib_1.__rest(_c, ['x-shopify-app-installation-id', 'x-shopify-app-id', 'x-app-installation-id', 'x-app-id', 'x-key-id', 'x-shop-domain', 'x-shopify-shop-domain', 'x-shopify-shop']);
26
21
  try {
27
- // NOTE raw request body is required for validation
28
- const _rawBody = yield (0, raw_body_1.default)(req);
29
- const rawBody = _rawBody.toString();
30
- body = JSON.parse(rawBody || '{}');
31
- if (authorization) {
32
- console.log(`>>> > next-shopify.handleSessionToken > authorization:`, authorization);
33
- const [authProtocol, authSignature] = (0, shared_1.ensureString)(authorization).split(' ');
34
- console.log(`>>> > next-shopify.handleSessionToken > authProtocol, authSignature:`, { authProtocol, authSignature });
35
- console.log(`>>> > next-shopify.handleSessionToken > keyPairs?.shared.publicKey:`, (_c = keyPairs === null || keyPairs === void 0 ? void 0 : keyPairs.shared) === null || _c === void 0 ? void 0 : _c.publicKey);
36
- // TEMP!!! remove this outer if check once fully implemented
37
- if (apiKey && emphemeralPublicKey && (keyPairs === null || keyPairs === void 0 ? void 0 : keyPairs.shared) && authTimestamp && authSignature && (authProtocol === 'HMAC-SHA256')) {
38
- if (!apiKey || !emphemeralPublicKey || !(keyPairs === null || keyPairs === void 0 ? void 0 : keyPairs.shared) || !authTimestamp || !authSignature || (authProtocol !== 'HMAC-SHA256')) {
39
- return res.status(401).json({ message: 'Invalid or missing authorization' });
40
- }
41
- const { derivedHMACKey } = yield shared_1.subtle.getVerificationKeys({
42
- publicKey: emphemeralPublicKey,
43
- privateKey: keyPairs.shared.privateKey,
44
- });
45
- console.log(`>>> > next-shopify.handleSessionToken > derivedHMACKey:`, derivedHMACKey);
46
- console.log(`>>> > next-shopify.req.url:`, req.url);
47
- console.log(`>>> > next-shopify.handleSessionToken > body:`, body);
48
- const verificationPayload = (0, shared_1.objectToSortedString)(Object.assign({ url: req.url, timestamp: authTimestamp }, body));
49
- console.log(`>>> > next-shopify.veirificationPayload:`, verificationPayload);
50
- const isValid = yield shared_1.subtle.verifyHMAC(verificationPayload, derivedHMACKey, authSignature);
51
- console.log(`>>> > next-shopify.isValid:`, { isValid });
52
- if (!isValid) {
53
- return res.status(412).json({ message: 'Invalid or missing verification' });
54
- }
55
- }
56
- }
57
22
  // TODO: un-btoa the host and check??
58
23
  if ((0, shared_1.stringEmpty)(shop) || (0, shared_1.stringEmpty)(host)) {
59
24
  return res.status(412).json({ message: 'Missing required param' });
60
25
  }
61
- // NOTE/TODO: these need to move to app metafields instead
26
+ // HMMMMMMM: not sure about this aud/kid
27
+ let aud = keyId; // NOTE: Client ID of the receiving app
28
+ // NOTE raw request body is required for shopify's validation
29
+ const _rawBody = yield (0, raw_body_1.default)(req);
30
+ const rawBody = _rawBody.toString();
31
+ const parsedBody = JSON.parse(rawBody || '{}'); // NOTE: parsedBody should be encrypted when isVerifiable
32
+ let decryptedBody = parsedBody;
33
+ // NOTE/TODO: keyPairs.messenger need to move to app metafields instead
62
34
  let signingSecret;
63
35
  if (keyId && (keyPairs === null || keyPairs === void 0 ? void 0 : keyPairs.messenger) && (keyId == keyPairs.messenger)) {
64
- signingData = Object.assign(Object.assign({}, signingData), { kid: keyPairs.messenger.publicKey });
36
+ signingData = Object.assign(Object.assign({}, signingData), { header: {
37
+ kid: keyPairs.messenger.publicKey,
38
+ } });
65
39
  signingSecret = keyPairs.messenger.privateKey;
66
40
  }
67
41
  const appClaims = Object.entries(headers).reduce((_appClaims, [headerKey, headerValue]) => (Object.assign(Object.assign({}, _appClaims), headerKey.startsWith('x-shopify-app-metafield-') && {
68
42
  [(0, shared_1.snakecase)(headerKey.replace('x-shopify-app-metafield-', ''))]: headerValue,
69
43
  })), Object.assign(Object.assign({}, appId && { app_id: (0, shared_1.normalizeShopifyId)(appId).id }), appInstallationId && { installation_id: (0, shared_1.normalizeShopifyId)(appInstallationId).id }));
70
- const { sub, aud = APP_CONFIG.apiKey } = body, _body = tslib_1.__rest(body, ["sub", "aud"]);
71
- let { dest, iss, sid, jti } = _body, tokenBody = tslib_1.__rest(_body, ["dest", "iss", "sid", "jti"]);
44
+ const _d = decryptedBody !== null && decryptedBody !== void 0 ? decryptedBody : {}, { sub, aud: _aud } = _d, body = tslib_1.__rest(_d, ["sub", "aud"]);
45
+ let { dest, iss, sid, jti } = body, tokenBody = tslib_1.__rest(body, ["dest", "iss", "sid", "jti"]);
72
46
  if ((0, shared_1.stringEmpty)(dest)) {
73
47
  dest = shop;
74
48
  }
@@ -82,6 +56,9 @@ const handleSessionToken = (serverRuntimeConfig, signingData) => {
82
56
  jti = (0, uuid_1.v4)();
83
57
  sid = `${sid}.${jti}`;
84
58
  }
59
+ if ((0, shared_1.stringEmpty)(aud)) {
60
+ aud = _aud || APP_CONFIG.apiKey;
61
+ }
85
62
  const payload = Object.assign(Object.assign(Object.assign({ shop,
86
63
  host,
87
64
  iss,
@@ -92,13 +69,16 @@ const handleSessionToken = (serverRuntimeConfig, signingData) => {
92
69
  if ((0, shared_1.stringEmpty)(signingSecret)) {
93
70
  signingSecret = (0, utils_1.generateHMAC)((0, shared_1.objectToSortedString)(payload), APP_CONFIG.apiSecretKey);
94
71
  }
95
- token = (0, jsonwebtoken_1.sign)(payload, signingSecret, signingData);
72
+ const token = (0, jsonwebtoken_1.sign)(payload, signingSecret, signingData);
73
+ if ((0, shared_1.stringEmpty)(token)) {
74
+ throw new Error('Error signing token');
75
+ }
76
+ return res.status(200).json({ token });
96
77
  }
97
78
  catch (error) {
98
79
  console.error('Error generating session token', error);
99
80
  return res.status(500).json({ message: 'Error generating session token' });
100
81
  }
101
- return res.status(200).json({ token });
102
82
  });
103
83
  };
104
84
  exports.handleSessionToken = handleSessionToken;
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/token.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/token.js"],"names":[],"mappings":"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"}
@@ -19,16 +19,11 @@ const getVerifiedSessionData = (serverRuntimeConfig) => (sessionToken, { shop, h
19
19
  throw new shared_1.ShopifySessionInvalidError('Unauthorized shop or host');
20
20
  }
21
21
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
22
- const { iat, nbf, exp } = decoded, verifiable = tslib_1.__rest(decoded
23
- // HMMM: explore update for HMAC secret?
24
- // const hmac = generateHMAC(objectToSortedString(verifiable), secret?? APP_CONFIG.apiSecretKey)
25
- , ["iat", "nbf", "exp"]);
26
- // HMMM: explore update for HMAC secret?
27
- // const hmac = generateHMAC(objectToSortedString(verifiable), secret?? APP_CONFIG.apiSecretKey)
22
+ const { iat, nbf, exp } = decoded, verifiable = tslib_1.__rest(decoded, ["iat", "nbf", "exp"]);
28
23
  const hmac = (0, crypto_1.generateHMAC)((0, shared_1.objectToSortedString)(verifiable), APP_CONFIG.apiSecretKey);
29
24
  const verified = (0, jsonwebtoken_1.verify)(sessionToken, hmac);
30
25
  if (verified == undefined) {
31
- throw new shared_1.ShopifySessionInvalidError('Error verifying session token');
26
+ throw new shared_1.ShopifySessionInvalidError('Verified Undefined');
32
27
  }
33
28
  }
34
29
  catch (_error) {
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/lib/utils/token.js"],"names":[],"mappings":";;;;AAAA,+CAAqC;AAErC,yCAIqB;AACrB,qCAAuC;AAEvC,mHAAmH;AAC5G,MAAM,sBAAsB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;IACpG,MAAM,EAAC,UAAU,EAAE,GAAG,mBAAmB,CAAA;IACzC,IAAI,IAAI,CAAA;IACR,IAAI;QACF,kFAAkF;QAClF,6DAA6D;QAC7D,MAAM,KAA+B,IAAA,uBAAc,EAAC,YAAY,CAAC,EAA3D,EAAE,OAAO,EAAE,KAAK,OAA2C,EAAtC,KAAK,sBAA1B,oBAA4B,CAA+B,CAAA;QACjE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;QACtD,IAAI,GAAG,KAAK,CAAA;QAEZ,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,EAAE;YACpD,MAAM,IAAI,mCAA0B,CAAC,2BAA2B,CAAC,CAAA;SAClE;QAED,6DAA6D;QAC7D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAoB,OAAO,EAAtB,UAAU,kBAAK,OAAO;QAChD,wCAAwC;QACxC,gGAAgG;UAF1F,qBAAgC,CAAU,CAAA;QAChD,wCAAwC;QACxC,gGAAgG;QAChG,MAAM,IAAI,GAAG,IAAA,qBAAY,EAAC,IAAA,6BAAoB,EAAC,UAAU,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;QAEpF,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAC3C,IAAI,QAAQ,IAAI,SAAS,EAAE;YACzB,MAAM,IAAI,mCAA0B,CAAC,+BAA+B,CAAC,CAAA;SACtE;KACF;IAAC,OAAO,MAAM,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAA;QACtD,MAAM,IAAI,mCAA0B,CAAC,+BAA+B,CAAC,CAAA;KACtE;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA,CAAA;AA7BY,QAAA,sBAAsB,0BA6BlC"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/lib/utils/token.js"],"names":[],"mappings":";;;;AAAA,+CAAqC;AAErC,yCAIqB;AACrB,qCAAuC;AAEvC,mHAAmH;AAC5G,MAAM,sBAAsB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;IACpG,MAAM,EAAC,UAAU,EAAE,GAAG,mBAAmB,CAAA;IAEzC,IAAI,IAAI,CAAA;IACR,IAAI;QACF,kFAAkF;QAClF,6DAA6D;QAC7D,MAAM,KAA+B,IAAA,uBAAc,EAAC,YAAY,CAAC,EAA3D,EAAE,OAAO,EAAE,KAAK,OAA2C,EAAtC,KAAK,sBAA1B,oBAA4B,CAA+B,CAAA;QACjE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;QACtD,IAAI,GAAG,KAAK,CAAA;QAEZ,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,EAAE;YACpD,MAAM,IAAI,mCAA0B,CAAC,2BAA2B,CAAC,CAAA;SAClE;QAED,6DAA6D;QAC7D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAoB,OAAO,EAAtB,UAAU,kBAAK,OAAO,EAA1C,qBAAgC,CAAU,CAAA;QAEhD,MAAM,IAAI,GAAG,IAAA,qBAAY,EAAC,IAAA,6BAAoB,EAAC,UAAU,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;QACpF,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QAC3C,IAAI,QAAQ,IAAI,SAAS,EAAE;YACzB,MAAM,IAAI,mCAA0B,CAAC,oBAAoB,CAAC,CAAA;SAC3D;KACF;IAAC,OAAO,MAAM,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAA;QACtD,MAAM,IAAI,mCAA0B,CAAC,+BAA+B,CAAC,CAAA;KACtE;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA,CAAA;AA7BY,QAAA,sBAAsB,0BA6BlC"}
@@ -1,18 +1,23 @@
1
1
  export function getGUID(): any;
2
2
  export function getInteger(): any;
3
+ export function ensureObject(object: any): any;
4
+ export function ensureString(string: any): string;
5
+ export function ensureStringOnly(string: any): string;
6
+ export function ensureArray(array?: any[]): any[];
7
+ export function ensureNumeric(string: any): number;
8
+ export function uppercase(string: any): string;
9
+ export function getRequestMethod(body: any, _method: any): string;
3
10
  export function querystringToObject(queryString: any): {
4
11
  [k: string]: string;
5
12
  };
6
13
  export function isType(value: any, type: any): boolean;
7
14
  export function isNumericOnly(value: any): boolean;
8
- export function ensureObject(object: any): any;
9
- export function ensureString(string: any): string;
10
- export function ensureArray(array?: any[]): any[];
11
- export function ensureNumeric(string: any): number;
12
15
  export function objectEmpty(object: any): boolean;
13
16
  export function objectNotEmpty(object: any): boolean;
14
17
  export function stringNotEmpty(stringable: any): boolean;
15
18
  export function stringEmpty(stringable: any): boolean;
19
+ export function stringNotEmptyOnly(stringable: any): boolean;
20
+ export function stringEmptyOnly(stringable: any): boolean;
16
21
  export function arrayEmpty(array: any, disableEmptyString?: boolean): boolean;
17
22
  export function arrayNotEmpty(array: any, disableEmptyString?: boolean): boolean;
18
23
  export function snakecase(string: any): any;
@@ -1 +1 @@
1
- {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/shared/display.js"],"names":[],"mappings":"AAGO,+BAEN;AAEM,kCAEN;AAGM;;EAON;AAEM,uDAGN;AAEM,mDAIN;AAEM,+CAEN;AAEM,kDAEN;AAEM,kDAGN;AAEM,mDAEN;AAEM,kDAEN;AAEM,qDAEN;AAEM,yDAGN;AAEM,sDAEN;AAEM,8EAGN;AAEM,iFAGN;AAgBM,4CAEN;AAEM,uEAEN;AAGM,wDAGN;AAWM,0FAqBN;AAEM,0CAON;AAEM,sDAeN;AAEM,+CAWN;AAEM,yEAKN;AAEM,+DAEN;AAEM,kEAUN;AAEM,6EAEN;AAEM,8EAKN;AAEM,wDAEN;AAEM,wDAEN;AAEM,sEAMN"}
1
+ {"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/shared/display.js"],"names":[],"mappings":"AAGO,+BAEN;AAEM,kCAEN;AAGM,+CAEN;AAEM,kDAEN;AAGM,sDAGN;AAEM,kDAGN;AAEM,mDAEN;AAEM,+CAEN;AAEM,kEAIN;AAEM;;EAON;AAEM,uDAGN;AAEM,mDAIN;AAEM,kDAEN;AAEM,qDAEN;AAEM,yDAGN;AAEM,sDAEN;AAEM,6DAGN;AAEM,0DAEN;AAEM,8EAGN;AAEM,iFAGN;AAgBM,4CAEN;AAEM,uEAEN;AAGM,wDAGN;AAWM,0FAqBN;AAEM,0CAON;AAEM,sDAeN;AAEM,+CAWN;AAEM,yEAKN;AAEM,+DAEN;AAEM,kEAUN;AAEM,6EAEN;AAEM,8EAKN;AAEM,wDAEN;AAEM,wDAEN;AAEM,sEAMN"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.appendQuery = exports.ensureLeadingSlash = exports.removeLeadingSlash = exports.objectToSortedString = exports.compareEntryKeys = exports.compareString = exports.arraysMatch = exports.arrayIncludesAll = exports.splitCommas = exports.safeParse = exports.safeTrim = exports.cleanObject = exports.isTrue = exports.unsnakecase = exports.snakecase = exports.arrayNotEmpty = exports.arrayEmpty = exports.stringEmpty = exports.stringNotEmpty = exports.objectNotEmpty = exports.objectEmpty = exports.ensureNumeric = exports.ensureArray = exports.ensureString = exports.ensureObject = exports.isNumericOnly = exports.isType = exports.querystringToObject = exports.getInteger = exports.getGUID = void 0;
3
+ exports.appendQuery = exports.ensureLeadingSlash = exports.removeLeadingSlash = exports.objectToSortedString = exports.compareEntryKeys = exports.compareString = exports.arraysMatch = exports.arrayIncludesAll = exports.splitCommas = exports.safeParse = exports.safeTrim = exports.cleanObject = exports.isTrue = exports.unsnakecase = exports.snakecase = exports.arrayNotEmpty = exports.arrayEmpty = exports.stringEmptyOnly = exports.stringNotEmptyOnly = exports.stringEmpty = exports.stringNotEmpty = exports.objectNotEmpty = exports.objectEmpty = exports.isNumericOnly = exports.isType = exports.querystringToObject = exports.getRequestMethod = exports.uppercase = exports.ensureNumeric = exports.ensureArray = exports.ensureStringOnly = exports.ensureString = exports.ensureObject = exports.getInteger = exports.getGUID = void 0;
4
4
  /* eslint-disable no-use-before-define */
5
5
  const uuid_1 = require("uuid");
6
6
  const getGUID = () => ((0, uuid_1.v4)());
@@ -8,6 +8,28 @@ exports.getGUID = getGUID;
8
8
  const getInteger = () => ((0, exports.getGUID)().replace(/\D/g, ''));
9
9
  exports.getInteger = getInteger;
10
10
  // TODO: keep in sync w/ lib-core
11
+ const ensureObject = (object) => (object !== null && object !== void 0 ? object : {});
12
+ exports.ensureObject = ensureObject;
13
+ const ensureString = (string) => (string ? `${string}` : '');
14
+ exports.ensureString = ensureString;
15
+ // HMMM: what if 'string' is an object?
16
+ const ensureStringOnly = (string) => (
17
+ // eslint-disable-next-line eqeqeq
18
+ (string != undefined) ? `${string}` : '');
19
+ exports.ensureStringOnly = ensureStringOnly;
20
+ const ensureArray = (array = []) => (
21
+ // eslint-disable-next-line no-nested-ternary
22
+ !array ? [] : Array.isArray(array) ? array : [array]);
23
+ exports.ensureArray = ensureArray;
24
+ const ensureNumeric = (string) => (Number((0, exports.ensureString)(string).replace(/[^0-9.]/gi, '')));
25
+ exports.ensureNumeric = ensureNumeric;
26
+ const uppercase = (string) => ((0, exports.ensureString)(string).toUpperCase());
27
+ exports.uppercase = uppercase;
28
+ const getRequestMethod = (body, _method) => {
29
+ const method = _method !== null && _method !== void 0 ? _method : (body ? 'POST' : 'GET');
30
+ return (0, exports.uppercase)(method);
31
+ };
32
+ exports.getRequestMethod = getRequestMethod;
11
33
  const querystringToObject = (queryString) => {
12
34
  if ((0, exports.stringEmpty)(queryString)) {
13
35
  return {};
@@ -27,16 +49,6 @@ const isNumericOnly = (value) => {
27
49
  return (matched != undefined);
28
50
  };
29
51
  exports.isNumericOnly = isNumericOnly;
30
- const ensureObject = (object) => (object !== null && object !== void 0 ? object : {});
31
- exports.ensureObject = ensureObject;
32
- const ensureString = (string) => (string ? `${string}` : '');
33
- exports.ensureString = ensureString;
34
- const ensureArray = (array = []) => (
35
- // eslint-disable-next-line no-nested-ternary
36
- !array ? [] : Array.isArray(array) ? array : [array]);
37
- exports.ensureArray = ensureArray;
38
- const ensureNumeric = (string) => (Number((0, exports.ensureString)(string).replace(/[^0-9.]/gi, '')));
39
- exports.ensureNumeric = ensureNumeric;
40
52
  const objectEmpty = (object) => (!object || !Object.keys(object).length);
41
53
  exports.objectEmpty = objectEmpty;
42
54
  const objectNotEmpty = (object) => (!(0, exports.objectEmpty)(object));
@@ -48,6 +60,13 @@ const stringNotEmpty = (stringable) => {
48
60
  exports.stringNotEmpty = stringNotEmpty;
49
61
  const stringEmpty = (stringable) => (!(0, exports.stringNotEmpty)(stringable));
50
62
  exports.stringEmpty = stringEmpty;
63
+ const stringNotEmptyOnly = (stringable) => {
64
+ const string = (0, exports.ensureStringOnly)(stringable);
65
+ return ((string.length > 0) && !['null', 'undefined'].includes(string));
66
+ };
67
+ exports.stringNotEmptyOnly = stringNotEmptyOnly;
68
+ const stringEmptyOnly = (stringable) => (!(0, exports.stringNotEmptyOnly)(stringable));
69
+ exports.stringEmptyOnly = stringEmptyOnly;
51
70
  const arrayEmpty = (array, disableEmptyString = false) => (
52
71
  // eslint-disable-next-line eqeqeq
53
72
  !array || !array.length || (array.length === 1 && (array[0] == undefined || (disableEmptyString && (0, exports.stringEmpty)(array[0])))));
@@ -1 +1 @@
1
- {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/shared/display.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/shared/display.js"],"names":[],"mappings":"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"}
@@ -33,5 +33,10 @@ export function normalizeShopifyId(shopifyData: any): {
33
33
  entity_id?: string | undefined;
34
34
  id?: string | undefined;
35
35
  };
36
+ export function normalizeURIParts(uri: any): {
37
+ pathname: string;
38
+ search: string;
39
+ origin?: string | undefined;
40
+ } | undefined;
36
41
  import jwt_decode from "jwt-decode";
37
42
  //# sourceMappingURL=shopify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shopify.d.ts","sourceRoot":"","sources":["../../src/shared/shopify.js"],"names":[],"mappings":"AAcA,0CAAmC;AAI5B;;;EAcN;AAGM;;;WAQN;AAGM;;uBAYN;AAEM;;;;;;;;;;;;;;;;EAiCN;AAEM;;;;;EAmCN"}
1
+ {"version":3,"file":"shopify.d.ts","sourceRoot":"","sources":["../../src/shared/shopify.js"],"names":[],"mappings":"AAkBA,0CAAmC;AAI5B;;;EAcN;AAGM;;;WAQN;AAGM;;uBAYN;AAEM;;;;;;;;;;;;;;;;EAiCN;AAEM;;;;;EAmCN;AAgBM;;;;cAeN"}