@agnostack/next-shopify 1.14.0-beta.8 → 1.14.0
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.
- package/CHANGELOG.md +324 -0
- package/dist/lib/handlers/api/billing.d.ts.map +1 -1
- package/dist/lib/handlers/api/billing.js +3 -5
- package/dist/lib/handlers/api/billing.js.map +1 -1
- package/dist/lib/handlers/api/graph.d.ts.map +1 -1
- package/dist/lib/handlers/api/graph.js +11 -12
- package/dist/lib/handlers/api/graph.js.map +1 -1
- package/dist/lib/handlers/api/index.d.ts.map +1 -1
- package/dist/lib/handlers/api/index.js +0 -1
- package/dist/lib/handlers/api/index.js.map +1 -1
- package/dist/lib/handlers/api/proxy.d.ts.map +1 -1
- package/dist/lib/handlers/api/proxy.js +17 -11
- package/dist/lib/handlers/api/proxy.js.map +1 -1
- package/dist/lib/handlers/api/rest.d.ts.map +1 -1
- package/dist/lib/handlers/api/rest.js +10 -7
- package/dist/lib/handlers/api/rest.js.map +1 -1
- package/dist/lib/handlers/api/token.d.ts +1 -1
- package/dist/lib/handlers/api/token.d.ts.map +1 -1
- package/dist/lib/handlers/api/token.js +8 -12
- package/dist/lib/handlers/api/token.js.map +1 -1
- package/dist/lib/handlers/api/uninstall.d.ts.map +1 -1
- package/dist/lib/handlers/api/uninstall.js +3 -4
- package/dist/lib/handlers/api/uninstall.js.map +1 -1
- package/dist/lib/handlers/api/webhook.d.ts.map +1 -1
- package/dist/lib/handlers/api/webhook.js +2 -4
- package/dist/lib/handlers/api/webhook.js.map +1 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +3 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/utils/index.d.ts +1 -0
- package/dist/lib/utils/index.js +1 -0
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/request.d.ts +2 -0
- package/dist/lib/utils/request.d.ts.map +1 -0
- package/dist/lib/utils/request.js +19 -0
- package/dist/lib/utils/request.js.map +1 -0
- package/dist/lib/utils/token.d.ts +3 -1
- package/dist/lib/utils/token.d.ts.map +1 -1
- package/dist/lib/utils/token.js +26 -24
- package/dist/lib/utils/token.js.map +1 -1
- package/dist/lib/utils/verification.d.ts +1 -1
- package/dist/lib/utils/verification.d.ts.map +1 -1
- package/dist/lib/utils/verification.js +19 -16
- package/dist/lib/utils/verification.js.map +1 -1
- package/dist/lib/withShopify.d.ts.map +1 -1
- package/dist/lib/withShopify.js +5 -3
- package/dist/lib/withShopify.js.map +1 -1
- package/dist/react/hooks/useVerification.d.ts +2 -2
- package/dist/react/hooks/useVerification.d.ts.map +1 -1
- package/dist/react/hooks/useVerification.js +8 -7
- package/dist/react/hooks/useVerification.js.map +1 -1
- package/dist/shared/display.js +1 -1
- package/dist/shared/display.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/rest.js"],"names":[],"mappings":";;;;AAAA,sDAA6D;AAE7D,uCAIoB;AACpB,
|
|
1
|
+
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/rest.js"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function handleSessionToken(serverRuntimeConfig: any, { signingSecret, ...signingData }?: {
|
|
1
|
+
export function handleSessionToken(serverRuntimeConfig: any, { signingSecret: _signingSecret, ...signingData }?: {
|
|
2
2
|
signingSecret: any;
|
|
3
3
|
}): (req: any, res: any) => Promise<any>;
|
|
4
4
|
//# sourceMappingURL=token.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/token.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/token.js"],"names":[],"mappings":"AAcO;;yCAqGN"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handleSessionToken = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
|
|
6
5
|
const js_base64_1 = require("js-base64");
|
|
7
6
|
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
8
7
|
const uuid_1 = require("uuid");
|
|
@@ -10,8 +9,9 @@ const utils_1 = require("../../utils");
|
|
|
10
9
|
const shared_1 = require("../../../shared");
|
|
11
10
|
// NOTE: typically handling: "/api/token"
|
|
12
11
|
const handleSessionToken = (serverRuntimeConfig, _a = {}) => {
|
|
13
|
-
var { signingSecret } = _a, signingData = tslib_1.__rest(_a, ["signingSecret"]);
|
|
12
|
+
var { signingSecret: _signingSecret } = _a, signingData = tslib_1.__rest(_a, ["signingSecret"]);
|
|
14
13
|
const { APP_CONFIG } = serverRuntimeConfig !== null && serverRuntimeConfig !== void 0 ? serverRuntimeConfig : {};
|
|
14
|
+
const _getVerifiedBody = (0, utils_1.getVerifiedBody)(serverRuntimeConfig);
|
|
15
15
|
return (req, res) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
16
16
|
var _b, _c;
|
|
17
17
|
const { host } = (_b = req.query) !== null && _b !== void 0 ? _b : {};
|
|
@@ -23,15 +23,11 @@ const handleSessionToken = (serverRuntimeConfig, _a = {}) => {
|
|
|
23
23
|
if ((0, shared_1.stringEmpty)(shop) || (0, shared_1.stringEmpty)(host)) {
|
|
24
24
|
return res.status(412).json({ message: 'Missing required param' });
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
const _rawBody = yield (0, raw_body_1.default)(req);
|
|
28
|
-
const rawBody = _rawBody.toString();
|
|
29
|
-
const parsedBody = JSON.parse(rawBody || '{}'); // NOTE: parsedBody should be encrypted when isVerifiable
|
|
30
|
-
let decryptedBody = parsedBody;
|
|
26
|
+
const [requestBody, processResponse] = yield _getVerifiedBody(req, res);
|
|
31
27
|
const appClaims = Object.entries(headers).reduce((_appClaims, [headerKey, headerValue]) => (Object.assign(Object.assign({}, _appClaims), headerKey.startsWith('x-shopify-app-metafield-') && {
|
|
32
28
|
[(0, shared_1.snakecase)(headerKey.replace('x-shopify-app-metafield-', ''))]: headerValue,
|
|
33
29
|
})), Object.assign(Object.assign({}, appId && { app_id: (0, shared_1.normalizeShopifyId)(appId).id }), appInstallationId && { installation_id: (0, shared_1.normalizeShopifyId)(appInstallationId).id }));
|
|
34
|
-
const _e =
|
|
30
|
+
const _e = requestBody !== null && requestBody !== void 0 ? requestBody : {}, { sub, aud: _aud } = _e, body = tslib_1.__rest(_e, ["sub", "aud"]);
|
|
35
31
|
const aud = [clientId, _aud, APP_CONFIG.apiKey].find(shared_1.stringNotEmpty);
|
|
36
32
|
let { dest, iss, sid, jti } = body, tokenBody = tslib_1.__rest(body, ["dest", "iss", "sid", "jti"]);
|
|
37
33
|
if ((0, shared_1.stringEmpty)(dest)) {
|
|
@@ -54,14 +50,14 @@ const handleSessionToken = (serverRuntimeConfig, _a = {}) => {
|
|
|
54
50
|
jti,
|
|
55
51
|
sid,
|
|
56
52
|
aud }, sub && { sub }), appClaims), tokenBody);
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
53
|
+
// NOTE: signingSecret should only be sent in here from the /api/token/zendesk endpoint
|
|
54
|
+
const signingSecret = _signingSecret || (0, utils_1.generateHMAC)((0, shared_1.objectToSortedString)(payload), APP_CONFIG.apiSecretKey);
|
|
60
55
|
const token = (0, jsonwebtoken_1.sign)(payload, signingSecret, signingData);
|
|
61
56
|
if ((0, shared_1.stringEmpty)(token)) {
|
|
62
57
|
throw new Error('Error signing token');
|
|
63
58
|
}
|
|
64
|
-
|
|
59
|
+
const response = yield processResponse({ token });
|
|
60
|
+
return res.status(200).json(response);
|
|
65
61
|
}
|
|
66
62
|
catch (error) {
|
|
67
63
|
console.error('Error generating session token', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/token.js"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/token.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/uninstall.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/uninstall.js"],"names":[],"mappings":"AAOO,qGAwCN"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handleAppUninstalled = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
|
|
6
5
|
const utils_1 = require("../../utils");
|
|
7
6
|
const shared_1 = require("../../../shared");
|
|
8
7
|
// NOTE: typically handling: "/api/webhooks/app/uninstalled"
|
|
@@ -14,10 +13,10 @@ const handleAppUninstalled = (serverRuntimeConfig) => (req, res) => tslib_1.__aw
|
|
|
14
13
|
return res.status(200).json({ handler: 'uninstall', error: 'Missing shop' });
|
|
15
14
|
}
|
|
16
15
|
const { shopify, findSessionIds, deleteSessions } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
17
|
-
//
|
|
18
|
-
const rawBody = yield (0,
|
|
16
|
+
// TODO: explore getVerifiedBody?
|
|
17
|
+
const rawBody = yield (0, utils_1.ensureRawBody)(req);
|
|
19
18
|
const _b = yield shopify.webhooks.validate({
|
|
20
|
-
rawBody
|
|
19
|
+
rawBody,
|
|
21
20
|
rawRequest: req,
|
|
22
21
|
rawResponse: res,
|
|
23
22
|
}), { valid } = _b, webhookCheck = tslib_1.__rest(_b, ["valid"]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/uninstall.js"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/uninstall.js"],"names":[],"mappings":";;;;AAAA,uCAA8D;AAC9D,4CAGwB;AAExB,4DAA4D;AACrD,MAAM,oBAAoB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;;IAC9E,IAAI;QACF,MAAM,EACJ,eAAe,EAAE,UAAU,EAC3B,uBAAuB,EAAE,iBAAiB,EAC1C,gBAAgB,EAAE,IAAI,GAAG,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,UAAU,GACzD,GAAG,MAAA,GAAG,CAAC,OAAO,mCAAI,EAAE,CAAA;QAErB,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;SAC7E;QAED,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,yBAAiB,EAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAE1G,iCAAiC;QACjC,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAA;QACxC,MAAM,KAA6B,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACjE,OAAO;YACP,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;SACjB,CAAC,EAJI,EAAE,KAAK,OAIX,EAJgB,YAAY,sBAAxB,SAA0B,CAI9B,CAAA;QAEF,IAAI,KAAK,EAAE;YACT,IAAI;gBACF,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;gBAC9C,IAAI,IAAA,sBAAa,EAAC,WAAW,CAAC,EAAE;oBAC9B,MAAM,cAAc,CAAC,WAAW,CAAC,CAAA;iBAClC;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;aAC1E;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,CAAC,CAAA;aAC7E;SACF;QAED,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,YAAY,CAAC,CAAA;QAClE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAA;KACrG;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;QAChD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC,CAAA;KACzF;AACH,CAAC,CAAA,CAAA;AAxCY,QAAA,oBAAoB,wBAwChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/webhook.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../src/lib/handlers/api/webhook.js"],"names":[],"mappings":"AASO,2HAuFN"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handleWebhookEvent = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
|
|
6
5
|
const utils_1 = require("../../utils");
|
|
7
6
|
const shared_1 = require("../../../shared");
|
|
8
7
|
// NOTE: typically handling: "/api/webhooks/event" or "/api/webhooks/event/{appId}" or "/api/webhooks/event?appId={appId}"
|
|
@@ -18,9 +17,8 @@ const handleWebhookEvent = (serverRuntimeConfig, config) => (req, res, data) =>
|
|
|
18
17
|
return res.status(200).json({ handler: 'webhook', error: 'Shop is not safelisted' });
|
|
19
18
|
}
|
|
20
19
|
const { shopify } = yield (0, utils_1.getShopifyHelpers)(serverRuntimeConfig, { shop });
|
|
21
|
-
//
|
|
22
|
-
const
|
|
23
|
-
const rawBody = _rawBody.toString();
|
|
20
|
+
// TODO: explore getVerifiedBody?
|
|
21
|
+
const rawBody = yield (0, utils_1.ensureRawBody)(req);
|
|
24
22
|
const _c = (serverRuntimeConfig.SHOPIFY_RUN_MODE === 'cli') ? {
|
|
25
23
|
valid: true,
|
|
26
24
|
topic: _headers['x-shopify-topic'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/webhook.js"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../../src/lib/handlers/api/webhook.js"],"names":[],"mappings":"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"}
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from '../shared';
|
|
2
2
|
export * from './handlers';
|
|
3
3
|
export * from './withShopify';
|
|
4
|
-
export { getShopifyHelpers,
|
|
4
|
+
export { getShopifyHelpers, getVerifiedBody, ensureRawBody, prepareHeaders } from './utils';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,cAAc,EACf,MAAM,SAAS,CAAA"}
|
package/dist/lib/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.prepareHeaders = exports.ensureRawBody = exports.getVerifiedBody = exports.getShopifyHelpers = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
tslib_1.__exportStar(require("../shared"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./handlers"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./withShopify"), exports);
|
|
8
8
|
var utils_1 = require("./utils");
|
|
9
9
|
Object.defineProperty(exports, "getShopifyHelpers", { enumerable: true, get: function () { return utils_1.getShopifyHelpers; } });
|
|
10
|
-
Object.defineProperty(exports, "prepareHeaders", { enumerable: true, get: function () { return utils_1.prepareHeaders; } });
|
|
11
10
|
Object.defineProperty(exports, "getVerifiedBody", { enumerable: true, get: function () { return utils_1.getVerifiedBody; } });
|
|
11
|
+
Object.defineProperty(exports, "ensureRawBody", { enumerable: true, get: function () { return utils_1.ensureRawBody; } });
|
|
12
|
+
Object.defineProperty(exports, "prepareHeaders", { enumerable: true, get: function () { return utils_1.prepareHeaders; } });
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;AAAA,oDAAyB;AACzB,qDAA0B;AAC1B,wDAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;AAAA,oDAAyB;AACzB,qDAA0B;AAC1B,wDAA6B;AAC7B,iCAKgB;AAJd,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,sGAAA,aAAa,OAAA;AACb,uGAAA,cAAc,OAAA"}
|
package/dist/lib/utils/index.js
CHANGED
|
@@ -5,6 +5,7 @@ tslib_1.__exportStar(require("./billing"), exports);
|
|
|
5
5
|
tslib_1.__exportStar(require("./crypto"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./firebase"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./headers"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./request"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./session"), exports);
|
|
9
10
|
tslib_1.__exportStar(require("./shopify"), exports);
|
|
10
11
|
tslib_1.__exportStar(require("./shopify-api-js/oauth"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.js"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,mDAAwB;AACxB,qDAA0B;AAC1B,oDAAyB;AACzB,oDAAyB;AACzB,oDAAyB;AACzB,iEAAsC;AACtC,kDAAuB;AACvB,yDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.js"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,mDAAwB;AACxB,qDAA0B;AAC1B,oDAAyB;AACzB,oDAAyB;AACzB,oDAAyB;AACzB,oDAAyB;AACzB,iEAAsC;AACtC,kDAAuB;AACvB,yDAA8B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/request.js"],"names":[],"mappings":"AAEO,sDAYN"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ensureRawBody = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
|
|
6
|
+
const ensureRawBody = (req) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
7
|
+
return ((0, raw_body_1.default)(req)
|
|
8
|
+
.then((_rawBody) => _rawBody.toString())
|
|
9
|
+
.catch((error) => {
|
|
10
|
+
// NOTE: this is intended to ensure if getRawBody is called 2x w/in a route that it returns the already streamed body
|
|
11
|
+
if (((error === null || error === void 0 ? void 0 : error.type) === 'stream.not.readable')) {
|
|
12
|
+
return req === null || req === void 0 ? void 0 : req.body;
|
|
13
|
+
}
|
|
14
|
+
console.error(`Error getting raw body for '${req.url}'`, error);
|
|
15
|
+
throw error;
|
|
16
|
+
}));
|
|
17
|
+
});
|
|
18
|
+
exports.ensureRawBody = ensureRawBody;
|
|
19
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/lib/utils/request.js"],"names":[],"mappings":";;;;AAAA,gEAAiC;AAE1B,MAAM,aAAa,GAAG,CAAO,GAAG,EAAE,EAAE;IAAC,OAAA,CAC1C,IAAA,kBAAU,EAAC,GAAG,CAAC;SACZ,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACvC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,qHAAqH;QACrH,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,qBAAqB,CAAC,EAAE;YAC3C,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAA;SACjB;QAED,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAA;QAC/D,MAAM,KAAK,CAAA;IACb,CAAC,CAAC,CACL,CAAA;EAAA,CAAA;AAZY,QAAA,aAAa,iBAYzB"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export function getVerifiedSessionData(serverRuntimeConfig: any
|
|
1
|
+
export function getVerifiedSessionData(serverRuntimeConfig: any, { signingSecret: _signingSecret }?: {
|
|
2
|
+
signingSecret: any;
|
|
3
|
+
}): (sessionToken: any, { shop, host }: {
|
|
2
4
|
shop: any;
|
|
3
5
|
host: any;
|
|
4
6
|
}) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/token.js"],"names":[],"mappings":"AAUO
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/token.js"],"names":[],"mappings":"AAUO;;;;;;;;;;;;;;;;;GAiCN"}
|
package/dist/lib/utils/token.js
CHANGED
|
@@ -5,32 +5,34 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
6
6
|
const shared_1 = require("../../shared");
|
|
7
7
|
const crypto_1 = require("./crypto");
|
|
8
|
-
//
|
|
9
|
-
const getVerifiedSessionData = (serverRuntimeConfig
|
|
8
|
+
// NOTE: this signingSecret is not current used, but just in case we ever need it
|
|
9
|
+
const getVerifiedSessionData = (serverRuntimeConfig, { signingSecret: _signingSecret } = {}) => {
|
|
10
10
|
const { APP_CONFIG } = serverRuntimeConfig;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
return (sessionToken, { shop, host }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
12
|
+
let data;
|
|
13
|
+
try {
|
|
14
|
+
// NOTE: this does not always contain sid (depending on if calling from appbridge)
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
16
|
+
const _a = (0, shared_1.decodeShopData)(sessionToken), { decoded, token } = _a, _data = tslib_1.__rest(_a, ["decoded", "token"]);
|
|
17
|
+
const { shop: sessionShop, host: sessionHost } = _data;
|
|
18
|
+
data = _data;
|
|
19
|
+
if ((sessionShop !== shop) || (sessionHost !== host)) {
|
|
20
|
+
throw new shared_1.ShopifySessionInvalidError('Unauthorized shop or host');
|
|
21
|
+
}
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
23
|
+
const { iat, nbf, exp } = decoded, verifiable = tslib_1.__rest(decoded, ["iat", "nbf", "exp"]);
|
|
24
|
+
const signingSecret = _signingSecret || (0, crypto_1.generateHMAC)((0, shared_1.objectToSortedString)(verifiable), APP_CONFIG.apiSecretKey);
|
|
25
|
+
const verified = (0, jsonwebtoken_1.verify)(sessionToken, signingSecret);
|
|
26
|
+
if (verified == undefined) {
|
|
27
|
+
throw new shared_1.ShopifySessionInvalidError('Verified Undefined');
|
|
28
|
+
}
|
|
20
29
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const verified = (0, jsonwebtoken_1.verify)(sessionToken, hmac);
|
|
25
|
-
if (verified == undefined) {
|
|
26
|
-
throw new shared_1.ShopifySessionInvalidError('Verified Undefined');
|
|
30
|
+
catch (_error) {
|
|
31
|
+
console.error('Error verifying session token', _error);
|
|
32
|
+
throw new shared_1.ShopifySessionInvalidError('Error verifying session token', { message: _error === null || _error === void 0 ? void 0 : _error.message, name: _error === null || _error === void 0 ? void 0 : _error.name });
|
|
27
33
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
throw new shared_1.ShopifySessionInvalidError('Error verifying session token');
|
|
32
|
-
}
|
|
33
|
-
return data;
|
|
34
|
-
});
|
|
34
|
+
return data;
|
|
35
|
+
});
|
|
36
|
+
};
|
|
35
37
|
exports.getVerifiedSessionData = getVerifiedSessionData;
|
|
36
38
|
//# sourceMappingURL=token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/lib/utils/token.js"],"names":[],"mappings":";;;;AAAA,+CAAqC;AAErC,yCAIqB;AACrB,qCAAuC;AAEvC,
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/lib/utils/token.js"],"names":[],"mappings":";;;;AAAA,+CAAqC;AAErC,yCAIqB;AACrB,qCAAuC;AAEvC,iFAAiF;AAC1E,MAAM,sBAAsB,GAAG,CAAC,mBAAmB,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,EAAE,EAAE,EAAE;IACpG,MAAM,EAAC,UAAU,EAAE,GAAG,mBAAmB,CAAA;IAEzC,OAAO,CAAO,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QAC5C,IAAI,IAAI,CAAA;QACR,IAAI;YACF,kFAAkF;YAClF,6DAA6D;YAC7D,MAAM,KAA+B,IAAA,uBAAc,EAAC,YAAY,CAAC,EAA3D,EAAE,OAAO,EAAE,KAAK,OAA2C,EAAtC,KAAK,sBAA1B,oBAA4B,CAA+B,CAAA;YACjE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,KAAK,CAAA;YACtD,IAAI,GAAG,KAAK,CAAA;YAEZ,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,EAAE;gBACpD,MAAM,IAAI,mCAA0B,CAAC,2BAA2B,CAAC,CAAA;aAClE;YAED,6DAA6D;YAC7D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAoB,OAAO,EAAtB,UAAU,kBAAK,OAAO,EAA1C,qBAAgC,CAAU,CAAA;YAEhD,MAAM,aAAa,GAAG,cAAc,IAAI,IAAA,qBAAY,EAAC,IAAA,6BAAoB,EAAC,UAAU,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;YAE/G,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,YAAY,EAAE,aAAa,CAAC,CAAA;YAEpD,IAAI,QAAQ,IAAI,SAAS,EAAE;gBACzB,MAAM,IAAI,mCAA0B,CAAC,oBAAoB,CAAC,CAAA;aAC3D;SACF;QAAC,OAAO,MAAM,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAA;YACtD,MAAM,IAAI,mCAA0B,CAAC,+BAA+B,EAAE,EAAE,OAAO,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE,CAAC,CAAA;SACxH;QAED,OAAO,IAAI,CAAA;IACb,CAAC,CAAA,CAAA;AACH,CAAC,CAAA;AAjCY,QAAA,sBAAsB,0BAiClC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export function getVerifiedBody(serverRuntimeConfig: any): (req: any, res: any,
|
|
1
|
+
export function getVerifiedBody(serverRuntimeConfig: any): (req: any, res: any, params: any) => Promise<any>;
|
|
2
2
|
//# sourceMappingURL=verification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/verification.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/verification.js"],"names":[],"mappings":"AAWO,6GA8FN"}
|
|
@@ -2,27 +2,29 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getVerifiedBody = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const raw_body_1 = tslib_1.__importDefault(require("raw-body"));
|
|
6
5
|
const shared_1 = require("../../shared");
|
|
6
|
+
const request_1 = require("./request");
|
|
7
7
|
const getVerifiedBody = (serverRuntimeConfig) => {
|
|
8
8
|
const { keyPairs } = serverRuntimeConfig;
|
|
9
|
-
return (req, res,
|
|
9
|
+
return (req, res, params) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
10
10
|
var _a;
|
|
11
11
|
const { 'x-public-key': apiKey, 'x-ephemeral-key': ephemeralPublicKey, 'x-authorization-timestamp': customAuthTimestamp, 'x-authorization': customAuth, } = (_a = req.headers) !== null && _a !== void 0 ? _a : {};
|
|
12
|
+
const { uri: _uri, disableRecryption: _disableRecryption } = params !== null && params !== void 0 ? params : {};
|
|
13
|
+
const disableRecryption = (0, shared_1.isTrue)(_disableRecryption);
|
|
14
|
+
const uri = _uri !== null && _uri !== void 0 ? _uri : req.url;
|
|
15
|
+
let isVerifiable;
|
|
12
16
|
try {
|
|
13
17
|
const [authProtocol, authSignature] = (0, shared_1.ensureString)(customAuth).split(' ');
|
|
14
|
-
|
|
18
|
+
isVerifiable = (apiKey &&
|
|
15
19
|
ephemeralPublicKey &&
|
|
16
20
|
(keyPairs === null || keyPairs === void 0 ? void 0 : keyPairs.shared) &&
|
|
17
21
|
customAuthTimestamp &&
|
|
18
22
|
authSignature &&
|
|
19
23
|
(authProtocol === 'HMAC-SHA256'));
|
|
20
24
|
let verificationKeys;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const parsedBody = JSON.parse(rawBody || '{}'); // NOTE: parsedBody should be encrypted when isVerifiable
|
|
25
|
-
let decryptedBody = parsedBody;
|
|
25
|
+
const rawBody = yield (0, request_1.ensureRawBody)(req);
|
|
26
|
+
// NOTE: requestBody should be wind up decrypted when isVerifiable (unless disableRecryption, then will pass through)
|
|
27
|
+
let requestBody = (0, shared_1.safeParse)(rawBody);
|
|
26
28
|
// TEMP!!! remove isVerifiable check once webwidget moved to react
|
|
27
29
|
if (isVerifiable) {
|
|
28
30
|
if (!apiKey ||
|
|
@@ -41,26 +43,27 @@ const getVerifiedBody = (serverRuntimeConfig) => {
|
|
|
41
43
|
if (!verificationKeys) {
|
|
42
44
|
return res.status(412).json({ message: 'Invalid or missing verification' });
|
|
43
45
|
}
|
|
44
|
-
const verificationPayload = (0, shared_1.objectToSortedString)(Object.assign({ method: (0, shared_1.getRequestMethod)(rawBody, req.method), timestamp: customAuthTimestamp, body:
|
|
46
|
+
const verificationPayload = (0, shared_1.objectToSortedString)(Object.assign({ method: (0, shared_1.getRequestMethod)(rawBody, req.method), timestamp: customAuthTimestamp, body: requestBody }, (0, shared_1.normalizeURIParts)(uri)));
|
|
45
47
|
const isValid = yield shared_1.subtle.verifyHMAC(verificationPayload, verificationKeys.derivedHMACKey, authSignature);
|
|
46
48
|
if (!isValid) {
|
|
47
49
|
return res.status(412).json({ message: 'Invalid or missing verification' });
|
|
48
50
|
}
|
|
49
|
-
if (
|
|
50
|
-
const decryptedMessage = yield shared_1.subtle.decryptMessage(
|
|
51
|
-
|
|
51
|
+
if (!disableRecryption && requestBody) {
|
|
52
|
+
const decryptedMessage = yield shared_1.subtle.decryptMessage(requestBody, verificationKeys.derivedSecretKey);
|
|
53
|
+
requestBody = (0, shared_1.safeParse)(decryptedMessage);
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
const postProcess = (response) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
-
|
|
57
|
+
// eslint-disable-next-line max-len
|
|
58
|
+
if (!response || disableRecryption || !isVerifiable || !(verificationKeys === null || verificationKeys === void 0 ? void 0 : verificationKeys.derivedSecretKey)) {
|
|
56
59
|
return response;
|
|
57
60
|
}
|
|
58
|
-
return shared_1.subtle.encryptMessage(JSON.stringify(response), verificationKeys
|
|
61
|
+
return shared_1.subtle.encryptMessage(JSON.stringify(response), verificationKeys.derivedSecretKey);
|
|
59
62
|
});
|
|
60
|
-
return [
|
|
63
|
+
return [requestBody, postProcess];
|
|
61
64
|
}
|
|
62
65
|
catch (error) {
|
|
63
|
-
console.error(`Error handling request verification for '${
|
|
66
|
+
console.error(`Error handling request verification for '${uri}'`, { error, isVerifiable, disableRecryption });
|
|
64
67
|
return res.status(200).json({ message: (error === null || error === void 0 ? void 0 : error.message) || 'Error handling request verification', targetPath: req === null || req === void 0 ? void 0 : req.url });
|
|
65
68
|
}
|
|
66
69
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../../src/lib/utils/verification.js"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../../src/lib/utils/verification.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withShopify.d.ts","sourceRoot":"","sources":["../../src/lib/withShopify.js"],"names":[],"mappings":"AA0BO;;;;
|
|
1
|
+
{"version":3,"file":"withShopify.d.ts","sourceRoot":"","sources":["../../src/lib/withShopify.js"],"names":[],"mappings":"AA0BO;;;;iBAmZN"}
|
package/dist/lib/withShopify.js
CHANGED
|
@@ -14,9 +14,9 @@ const withShopify = (nextPhase, _a) => { var _b, _c, _d, _e, _f; return tslib_1.
|
|
|
14
14
|
try {
|
|
15
15
|
const _g = nextConfig !== null && nextConfig !== void 0 ? nextConfig : {}, { basePath: _basePath, publicRuntimeConfig: _publicRuntimeConfig = {}, serverRuntimeConfig: __serverRuntimeConfig = {} } = _g, _nextConfig = tslib_1.__rest(_g, ["basePath", "publicRuntimeConfig", "serverRuntimeConfig"]);
|
|
16
16
|
const basePath = (0, shared_1.ensureString)(_basePath);
|
|
17
|
-
const _h = pluginConfig !== null && pluginConfig !== void 0 ? pluginConfig : {}, { data, interactive, paymentConfig, firebaseConfig, appWebhooks, apiRoutes: { [shared_1.API_ROUTE_NAMES.AUTH_ONLINE]: _apiRouteAuthOnline =
|
|
18
|
-
[shared_1.API_ROUTE_NAMES.AUTH_ONLINE_CALLBACK_REAUTH]: _apiRouteAuthOnlineCallbackReauth =
|
|
19
|
-
[shared_1.API_ROUTE_NAMES.APP_INSTALLATION]: _apiRouteAuthAppInstallation =
|
|
17
|
+
const _h = pluginConfig !== null && pluginConfig !== void 0 ? pluginConfig : {}, { data, interactive, paymentConfig, firebaseConfig, appWebhooks } = _h, _j = _h.params, _k = _j === void 0 ? {} : _j, { APP_ID: _appId, APP_NAME: _appName, APP_TITLE: _appTitle = _appName, URL: netlifyUrl, HOST: shopifyCLIUrl, FIREBASE_SESSION_SK, FIREBASE_SESSION_PK, NEXT_PUBLIC_APP_BASE_URL, NEXT_PUBLIC_SHOPIFY_API_ID, NEXT_PUBLIC_SHOPIFY_API_KEY, NEXT_PUBLIC_BASE_PATH_API: API_BASE_PATH = '/api', NEXT_PUBLIC_APP_ROUTE_PAGE_EXIT: _pageRouteParamExit, NEXT_PUBLIC_APP_ROUTE_PAGE_ERROR: _pageRouteParamError, NEXT_PUBLIC_APP_ROUTE_PAGE_SUCCESS: _pageRouteParamSuccess, NEXT_PUBLIC_APP_ROUTE_API_AUTH_ONLINE: _apiRouteParamAuthOnline, NEXT_PUBLIC_APP_ROUTE_API_AUTH_OFFLINE: _apiRouteParamAuthOffline, NEXT_PUBLIC_APP_ROUTE_API_AUTH_ONLINE_CALLBACK: _apiRouteParamAuthOnlineCallback, NEXT_PUBLIC_APP_ROUTE_API_AUTH_ONLINE_CALLBACK_REAUTH: _apiRouteParamAuthOnlineCallbackReauth, NEXT_PUBLIC_APP_ROUTE_API_AUTH_OFFLINE_CALLBACK: _apiRouteParamAuthOfflineCallback, NEXT_PUBLIC_APP_ROUTE_API_AUTH_OFFLINE_CALLBACK_REAUTH: _apiRouteParamAuthOfflineCallbackReauth, NEXT_PUBLIC_APP_ROUTE_API_APP_BILLING_SUBSCRIPTION: _apiRouteParamAppSubscriptionBilling, NEXT_PUBLIC_APP_ROUTE_API_APP_BILLING_ONE_TIME: _apiRouteParamAppOneTimeBilling, NEXT_PUBLIC_APP_ROUTE_API_APP_INSTALLATION: _apiRouteParamAppInstallation, NEXT_PUBLIC_APP_ROUTE_API_APP_UNINSTALLED: _apiRouteParamAppUninstalled, NEXT_PUBLIC_APP_ROUTE_API_SESSION_TOKEN: _apiRouteParamSessionToken, NEXT_PUBLIC_APP_ROUTE_WEBHOOK_EVENT: _apiRouteParamWebhookEvent, NEXT_PUBLIC_FB_ROOT_COLLECTION: FB_ROOT_COLLECTION, NEXT_PUBLIC_APP_NAME: _appNameParam = _appTitle, NEXT_PUBLIC_APP_TITLE: _appTitleParam = _appNameParam, PAGE_ROUTES_STANDALONE: _standaloneRoutes, SHOPIFY_API_PUBLIC_KEY: _shopifyPublicAPIKey, SHOPIFY_API_VERSION = shopify_api_1.LATEST_API_VERSION, SHOPIFY_API_SCOPES, SHOPIFY_API_KEY, SHOPIFY_THEME_ID, SHOPIFY_RUN_MODE, CONFIG_DATA, ORIGIN_SAFELIST } = _k, params = tslib_1.__rest(_k, ["APP_ID", "APP_NAME", "APP_TITLE", "URL", "HOST", "FIREBASE_SESSION_SK", "FIREBASE_SESSION_PK", "NEXT_PUBLIC_APP_BASE_URL", "NEXT_PUBLIC_SHOPIFY_API_ID", "NEXT_PUBLIC_SHOPIFY_API_KEY", "NEXT_PUBLIC_BASE_PATH_API", "NEXT_PUBLIC_APP_ROUTE_PAGE_EXIT", "NEXT_PUBLIC_APP_ROUTE_PAGE_ERROR", "NEXT_PUBLIC_APP_ROUTE_PAGE_SUCCESS", "NEXT_PUBLIC_APP_ROUTE_API_AUTH_ONLINE", "NEXT_PUBLIC_APP_ROUTE_API_AUTH_OFFLINE", "NEXT_PUBLIC_APP_ROUTE_API_AUTH_ONLINE_CALLBACK", "NEXT_PUBLIC_APP_ROUTE_API_AUTH_ONLINE_CALLBACK_REAUTH", "NEXT_PUBLIC_APP_ROUTE_API_AUTH_OFFLINE_CALLBACK", "NEXT_PUBLIC_APP_ROUTE_API_AUTH_OFFLINE_CALLBACK_REAUTH", "NEXT_PUBLIC_APP_ROUTE_API_APP_BILLING_SUBSCRIPTION", "NEXT_PUBLIC_APP_ROUTE_API_APP_BILLING_ONE_TIME", "NEXT_PUBLIC_APP_ROUTE_API_APP_INSTALLATION", "NEXT_PUBLIC_APP_ROUTE_API_APP_UNINSTALLED", "NEXT_PUBLIC_APP_ROUTE_API_SESSION_TOKEN", "NEXT_PUBLIC_APP_ROUTE_WEBHOOK_EVENT", "NEXT_PUBLIC_FB_ROOT_COLLECTION", "NEXT_PUBLIC_APP_NAME", "NEXT_PUBLIC_APP_TITLE", "PAGE_ROUTES_STANDALONE", "SHOPIFY_API_PUBLIC_KEY", "SHOPIFY_API_VERSION", "SHOPIFY_API_SCOPES", "SHOPIFY_API_KEY", "SHOPIFY_THEME_ID", "SHOPIFY_RUN_MODE", "CONFIG_DATA", "ORIGIN_SAFELIST"]), { apiRoutes: { [shared_1.API_ROUTE_NAMES.AUTH_ONLINE]: _apiRouteAuthOnline = `${API_BASE_PATH}/auth/online`, [shared_1.API_ROUTE_NAMES.AUTH_OFFLINE]: _apiRouteAuthOffline = `${API_BASE_PATH}/auth/offline`, [shared_1.API_ROUTE_NAMES.AUTH_ONLINE_CALLBACK]: _apiRouteAuthOnlineCallback = `${API_BASE_PATH}/auth/online/callback`, [shared_1.API_ROUTE_NAMES.AUTH_OFFLINE_CALLBACK]: _apiRouteAuthOfflineCallback, // NOTE: this is usually '/api/auth/offline/callback'
|
|
18
|
+
[shared_1.API_ROUTE_NAMES.AUTH_ONLINE_CALLBACK_REAUTH]: _apiRouteAuthOnlineCallbackReauth = `${API_BASE_PATH}/auth/online/callback/reauth`, [shared_1.API_ROUTE_NAMES.AUTH_OFFLINE_CALLBACK_REAUTH]: _apiRouteAuthOfflineCallbackReauth, // NOTE: this is usually '/api/auth/offline/callback/reauth'
|
|
19
|
+
[shared_1.API_ROUTE_NAMES.APP_INSTALLATION]: _apiRouteAuthAppInstallation = `${API_BASE_PATH}/admin/installation`, [shared_1.API_ROUTE_NAMES.APP_UNINSTALLED]: _apiRouteAppUninstalled = `${API_BASE_PATH}/webhooks/app/uninstalled`, [shared_1.API_ROUTE_NAMES.APP_PURCHASES_ONE_TIME_UPDATE]: _apiRouteAppOneTimeBilling = `${API_BASE_PATH}/webhooks/app/billing`, [shared_1.API_ROUTE_NAMES.APP_SUBSCRIPTIONS_UPDATE]: _apiRouteAppSubscriptionBilling = `${API_BASE_PATH}/webhooks/app/billing`, [shared_1.API_ROUTE_NAMES.WEBHOOK_EVENT]: _apiRouteWebhookEvent = `${API_BASE_PATH}/webhooks/event`, [shared_1.API_ROUTE_NAMES.SESSION_TOKEN]: _apiRouteSessionToken = `${API_BASE_PATH}/token`, } = {}, pageRoutes: { [shared_1.PAGE_ROUTE_NAMES.EXIT]: _pageRouteExit = '/exit', [shared_1.PAGE_ROUTE_NAMES.ERROR]: _pageRouteError = '/error', [shared_1.PAGE_ROUTE_NAMES.SUCCESS]: _pageRouteSuccess = '/', } = {} } = _h;
|
|
20
20
|
const SHOPIFY_API_PUBLIC_KEY = NEXT_PUBLIC_SHOPIFY_API_KEY || _shopifyPublicAPIKey;
|
|
21
21
|
// NOTE APP_ID in shopify cli defaults to client id/SHOPIFY_API_PUBLIC_KEY
|
|
22
22
|
const APP_ID = NEXT_PUBLIC_SHOPIFY_API_ID || _appId || SHOPIFY_API_PUBLIC_KEY;
|
|
@@ -200,6 +200,7 @@ const withShopify = (nextPhase, _a) => { var _b, _c, _d, _e, _f; return tslib_1.
|
|
|
200
200
|
SHOPIFY_RUN_MODE,
|
|
201
201
|
SHOPIFY_API_PUBLIC_KEY,
|
|
202
202
|
APP_WEBHOOK_TOPICS,
|
|
203
|
+
API_BASE_PATH,
|
|
203
204
|
APP_BASE_URL,
|
|
204
205
|
API_URLS,
|
|
205
206
|
API_PATHS,
|
|
@@ -223,6 +224,7 @@ const withShopify = (nextPhase, _a) => { var _b, _c, _d, _e, _f; return tslib_1.
|
|
|
223
224
|
PAGE_ROUTES_STANDALONE,
|
|
224
225
|
PAGE_ROUTE_NAMES: shared_1.PAGE_ROUTE_NAMES,
|
|
225
226
|
PAGE_PATHS,
|
|
227
|
+
API_BASE_PATH,
|
|
226
228
|
API_PATHS,
|
|
227
229
|
API_URLS,
|
|
228
230
|
APP_BASE_URL,
|