@agnostack/next-shopify 1.7.3-alpha.3 → 1.7.3-beta.2
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/dist/handlers/api/proxy.js +26 -11
- package/dist/handlers/api/proxy.js.map +1 -1
- package/dist/handlers/api/uninstall.js +0 -2
- package/dist/handlers/api/uninstall.js.map +1 -1
- package/dist/utils/billing.d.ts +1 -1
- package/dist/utils/billing.js +3 -7
- package/dist/utils/billing.js.map +1 -1
- package/dist/utils/crypto.d.ts +2 -0
- package/dist/utils/crypto.js +19 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -21,8 +21,9 @@ const http_proxy_1 = __importDefault(require("http-proxy"));
|
|
|
21
21
|
const nextjs_cors_1 = __importDefault(require("nextjs-cors"));
|
|
22
22
|
const utils_1 = require("../../utils");
|
|
23
23
|
const PROXY_TIMEOUT = 6000; // NOTE: 6 seconds
|
|
24
|
+
const verifyAppProxySignature = (signature, sharedSecret, data) => (utils_1.compareHashes(signature, utils_1.generateHMAC(data, sharedSecret)));
|
|
24
25
|
const handleProxy = (serverRuntimeConfig) => async (req, res, _params) => {
|
|
25
|
-
const { SETTING_REPLACEMENTS, TARGET_SAFELIST, ORIGIN_SAFELIST } = serverRuntimeConfig;
|
|
26
|
+
const { SHOPIFY_API_KEY, SETTING_REPLACEMENTS, TARGET_SAFELIST, ORIGIN_SAFELIST } = serverRuntimeConfig;
|
|
26
27
|
const targetSafelist = utils_1.ensureObject(TARGET_SAFELIST);
|
|
27
28
|
const targetOriginsSafelist = Object.keys(targetSafelist);
|
|
28
29
|
const originsSafelist = [
|
|
@@ -33,12 +34,20 @@ const handleProxy = (serverRuntimeConfig) => async (req, res, _params) => {
|
|
|
33
34
|
methods: ['PUT', 'PATCH', 'POST', 'DELETE'],
|
|
34
35
|
origin: (origin, callback) => {
|
|
35
36
|
var _a;
|
|
36
|
-
if (originsSafelist.includes(origin)
|
|
37
|
+
if (originsSafelist.includes(origin)) {
|
|
37
38
|
return callback(null, true);
|
|
38
39
|
}
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
let _shop;
|
|
41
|
+
try {
|
|
42
|
+
_shop = utils_1.ensureString(origin).startsWith('http') ? new URL(origin).hostname : origin;
|
|
41
43
|
}
|
|
44
|
+
catch (ignore) {
|
|
45
|
+
console.log('Ignoring error decoding origin', ignore);
|
|
46
|
+
}
|
|
47
|
+
if (_shop && utils_1.stringNotEmpty((_a = utils_1.getSanitizedShopData(_shop)) === null || _a === void 0 ? void 0 : _a.shop)) {
|
|
48
|
+
return callback(null, true);
|
|
49
|
+
}
|
|
50
|
+
return callback(new Error('Invalid CORS origin'));
|
|
42
51
|
},
|
|
43
52
|
optionsSuccessStatus: 200, // some legacy browsers (IE11, various SmartTVs) choke on 204
|
|
44
53
|
});
|
|
@@ -50,17 +59,23 @@ const handleProxy = (serverRuntimeConfig) => async (req, res, _params) => {
|
|
|
50
59
|
return res.status(407).json({ message: 'Unproxyable target.' });
|
|
51
60
|
}
|
|
52
61
|
const { query: _query, headers: _headers } = req;
|
|
62
|
+
const query = utils_1.ensureObject(_query);
|
|
53
63
|
// TODO!!!!!!: update this to not send as querystring/get via app itself somehow on backend?
|
|
54
|
-
const {
|
|
64
|
+
const { signature } = query, verifiable = __rest(query, ["signature"]);
|
|
65
|
+
const { shop: _shop, host: _host, timestamp } = verifiable;
|
|
55
66
|
// TODO: explore moving this to sessionToken middleware??
|
|
56
67
|
const _a = _headers !== null && _headers !== void 0 ? _headers : {}, { 'x-extension-session': sessionToken, 'x-extension-point': extensionPoint } = _a, __headers = __rest(_a, ['x-extension-session', 'x-extension-point']);
|
|
57
|
-
if (!_shop || !_host || !extensionPoint || !
|
|
58
|
-
return res.status(400).json({ message: 'Invalid or missing headers.',
|
|
68
|
+
if (!_shop || !_host || !extensionPoint || !signature) {
|
|
69
|
+
return res.status(400).json({ message: 'Invalid or missing headers.', extensionPoint });
|
|
59
70
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (
|
|
63
|
-
|
|
71
|
+
const isGood = verifyAppProxySignature(signature, (extensionPoint === 'theme') ? timestamp : SHOPIFY_API_KEY, verifiable);
|
|
72
|
+
console.log(`>>> > handleProxy > isGood: '${isGood}'`, extensionPoint);
|
|
73
|
+
if (sessionToken) {
|
|
74
|
+
// NOTE: this does not contain sid for some reason (presuming permission approval)
|
|
75
|
+
const { shop, host } = utils_1.decodeShopData(sessionToken);
|
|
76
|
+
if ((shop !== _shop) || (host !== _host)) {
|
|
77
|
+
return res.status(403).json({ message: 'Unauthorized shop or host.' });
|
|
78
|
+
}
|
|
64
79
|
}
|
|
65
80
|
// TODO: explore adding hmac check/middleware?
|
|
66
81
|
const setting = utils_1.ensureObject(SETTING_REPLACEMENTS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/handlers/api/proxy.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,gDAAgD;AAChD,4DAAkC;AAClC,8DAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/handlers/api/proxy.js"],"names":[],"mappings":"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"}
|
|
@@ -34,12 +34,10 @@ const handleAppUninstalled = (serverRuntimeConfig) => async (req, res) => {
|
|
|
34
34
|
return res.status(200).send('success');
|
|
35
35
|
}
|
|
36
36
|
catch (error) {
|
|
37
|
-
// HMMM: not sure this should/can send back a 500 here (vs 200 w error object in body)
|
|
38
37
|
return res.status(500).send(error === null || error === void 0 ? void 0 : error.message);
|
|
39
38
|
}
|
|
40
39
|
}
|
|
41
40
|
console.warn('Unable to validate webhook');
|
|
42
|
-
// HMMM: not sure this should/can send back a 500 here (vs 200 w error object in body)
|
|
43
41
|
return res.status(200).send('invalid');
|
|
44
42
|
}
|
|
45
43
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/handlers/api/uninstall.js"],"names":[],"mappings":";;;;;;AAAA,wDAAiC;AAEjC,uCAIoB;AAEpB,4DAA4D;AACrD,MAAM,oBAAoB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC9E,mEAAmE;IACnE,MAAM,OAAO,GAAG,MAAM,kBAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACpD,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAA;QAEnE,2EAA2E;QAC3E,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,IAAI;QACF,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;QAEjD,IAAI,mBAAW,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;SAC5C;QAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,MAAM,yBAAiB,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAEvG,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAChD,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC3B,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;SACjB,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE;YACT,IAAI;gBACF,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;gBAC3C,IAAI,qBAAa,CAAC,WAAW,CAAC,EAAE;oBAC9B,MAAM,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;iBACtD;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;aACvC;YAAC,OAAO,KAAK,EAAE;gBACd,
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/handlers/api/uninstall.js"],"names":[],"mappings":";;;;;;AAAA,wDAAiC;AAEjC,uCAIoB;AAEpB,4DAA4D;AACrD,MAAM,oBAAoB,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC9E,mEAAmE;IACnE,MAAM,OAAO,GAAG,MAAM,kBAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACpD,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAA;QAEnE,2EAA2E;QAC3E,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,IAAI;QACF,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;QAEjD,IAAI,mBAAW,CAAC,IAAI,CAAC,EAAE;YACrB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;SAC5C;QAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,MAAM,yBAAiB,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QAEvG,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAChD,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC3B,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,GAAG;SACjB,CAAC,CAAA;QAEF,IAAI,KAAK,EAAE;YACT,IAAI;gBACF,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;gBAC3C,IAAI,qBAAa,CAAC,WAAW,CAAC,EAAE;oBAC9B,MAAM,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;iBACtD;gBACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;aACvC;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,CAAA;aAC5C;SACF;QAED,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;QAC1C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;KACvC;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;QAChD,sFAAsF;QACtF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;KACxD;AACH,CAAC,CAAA;AA3CY,QAAA,oBAAoB,wBA2ChC"}
|
package/dist/utils/billing.d.ts
CHANGED
package/dist/utils/billing.js
CHANGED
|
@@ -36,11 +36,7 @@ const ensureBilling = async ({ shopify, session, paymentConfig }) => {
|
|
|
36
36
|
exports.ensureBilling = ensureBilling;
|
|
37
37
|
// eslint-disable-next-line arrow-body-style
|
|
38
38
|
const generatePaymentConfig = (data) => {
|
|
39
|
-
const {
|
|
40
|
-
// debugMode,
|
|
41
|
-
environment, paymentConfig,
|
|
42
|
-
// SHOPIFY_RUN_MODE,
|
|
43
|
-
} = display_1.ensureObject(data);
|
|
39
|
+
const { debugMode, environment, paymentConfig, SHOPIFY_RUN_MODE, } = display_1.ensureObject(data);
|
|
44
40
|
if (display_1.objectEmpty(paymentConfig) || display_1.stringEmpty(environment)) {
|
|
45
41
|
return undefined;
|
|
46
42
|
}
|
|
@@ -49,8 +45,8 @@ const generatePaymentConfig = (data) => {
|
|
|
49
45
|
const notProduction = !isProduction;
|
|
50
46
|
const billingName = `${name}${notProduction ? ` - ${environment}` : ''} - ${display_1.unsnakecase(type)}`;
|
|
51
47
|
return {
|
|
52
|
-
required:
|
|
53
|
-
test:
|
|
48
|
+
required: (isProduction || (SHOPIFY_RUN_MODE === 'cli')),
|
|
49
|
+
test: (notProduction || debugMode),
|
|
54
50
|
name: billingName,
|
|
55
51
|
config: {
|
|
56
52
|
interval: type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/utils/billing.js"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,uCAQkB;AAClB,2CAA+C;AAExC,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;IACzE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,sBAAY,CAAC,OAAO,CAAC,CAAA;IACnD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,sBAAY,CAAC,aAAa,CAAC,CAAA;IAE1E,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,MAAM,GAAG,gBAAM,CAAC,IAAI,CAAC,CAAA;IAE3B,MAAM,eAAe,GAAG,CACtB,wBAAc,CAAC,IAAI,CAAC;QACpB,wBAAc,CAAC,WAAW,CAAC;QAC3B,wBAAc,CAAC,IAAI,CAAC;QACpB,wBAAc,CAAC,MAAM,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,6BAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,CAC5D,CAAA;IAED,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,IAAI,0BAAY,CAAC;YACrB,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAA;KACH;IAED,IAAI;QACF,IAAI,gBAAM,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;YAC3E,OAAO,SAAS,CAAA;SACjB;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;KAC1D;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,0BAAY,CAAC;YACrB,OAAO,EAAE,wCAAwC;SAClD,CAAC,CAAA;KACH;AACH,CAAC,CAAA;AAnCY,QAAA,aAAa,iBAmCzB;AAED,4CAA4C;AACrC,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,EAAE;IAC5C,MAAM
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/utils/billing.js"],"names":[],"mappings":";;;AAAA,sDAAmD;AAEnD,uCAQkB;AAClB,2CAA+C;AAExC,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE;IACzE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,sBAAY,CAAC,OAAO,CAAC,CAAA;IACnD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,sBAAY,CAAC,aAAa,CAAC,CAAA;IAE1E,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,MAAM,GAAG,gBAAM,CAAC,IAAI,CAAC,CAAA;IAE3B,MAAM,eAAe,GAAG,CACtB,wBAAc,CAAC,IAAI,CAAC;QACpB,wBAAc,CAAC,WAAW,CAAC;QAC3B,wBAAc,CAAC,IAAI,CAAC;QACpB,wBAAc,CAAC,MAAM,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,6BAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,CAC5D,CAAA;IAED,IAAI,CAAC,eAAe,EAAE;QACpB,MAAM,IAAI,0BAAY,CAAC;YACrB,OAAO,EAAE,+BAA+B;SACzC,CAAC,CAAA;KACH;IAED,IAAI;QACF,IAAI,gBAAM,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;YAC3E,OAAO,SAAS,CAAA;SACjB;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;KAC1D;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,0BAAY,CAAC;YACrB,OAAO,EAAE,wCAAwC;SAClD,CAAC,CAAA;KACH;AACH,CAAC,CAAA;AAnCY,QAAA,aAAa,iBAmCzB;AAED,4CAA4C;AACrC,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,EAAE;IAC5C,MAAM,EACJ,SAAS,EACT,WAAW,EACX,aAAa,EACb,gBAAgB,GACjB,GAAG,sBAAY,CAAC,IAAI,CAAC,CAAA;IAEtB,IAAI,qBAAW,CAAC,aAAa,CAAC,IAAI,qBAAW,CAAC,WAAW,CAAC,EAAE;QAC1D,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,6BAAiB,CAAC,QAAQ,GAClC,GAAG,sBAAY,CAAC,aAAa,CAAC,CAAA;IAE/B,MAAM,YAAY,GAAG,CAAC,WAAW,KAAK,YAAY,CAAC,CAAA;IACnD,MAAM,aAAa,GAAG,CAAC,YAAY,CAAA;IACnC,MAAM,WAAW,GAAG,GAAG,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,qBAAW,CAAC,IAAI,CAAC,EAAE,CAAA;IAE/F,OAAO;QACL,QAAQ,EAAE,CAAC,YAAY,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC;QACxD,IAAI,EAAE,CAAC,aAAa,IAAI,SAAS,CAAC;QAClC,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,QAAQ;SACvB;KACF,CAAA;AACH,CAAC,CAAA;AAjCY,QAAA,qBAAqB,yBAiCjC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.compareHashes = exports.generateHMAC = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
const generateHMAC = (message, apiSecret, digest = 'hex') => (crypto_1.default.createHmac('sha256', apiSecret)
|
|
9
|
+
.update(message)
|
|
10
|
+
.digest(digest));
|
|
11
|
+
exports.generateHMAC = generateHMAC;
|
|
12
|
+
const compareHashes = (digestHash, checkSumHash, encoding = 'utf-8') => {
|
|
13
|
+
const digest = Buffer.from(digestHash, encoding);
|
|
14
|
+
const checkSum = Buffer.from(checkSumHash, encoding);
|
|
15
|
+
return ((digest.length === checkSum.length) &&
|
|
16
|
+
crypto_1.default.timingSafeEqual(digest, checkSum));
|
|
17
|
+
};
|
|
18
|
+
exports.compareHashes = compareHashes;
|
|
19
|
+
//# sourceMappingURL=crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.js"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAEpB,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,CAAC,CAClE,gBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;KACnC,MAAM,CAAC,OAAO,CAAC;KACf,MAAM,CAAC,MAAM,CAAC,CAClB,CAAA;AAJY,QAAA,YAAY,gBAIxB;AAEM,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,GAAG,OAAO,EAAE,EAAE;IAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAEpD,OAAO,CACL,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC;QACnC,gBAAM,CAAC,eAAe,CACpB,MAAM,EACN,QAAQ,CACT,CACF,CAAA;AACH,CAAC,CAAA;AAXY,QAAA,aAAa,iBAWzB"}
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
|
@@ -12,6 +12,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./billing"), exports);
|
|
14
14
|
__exportStar(require("./constants"), exports);
|
|
15
|
+
__exportStar(require("./crypto"), exports);
|
|
15
16
|
__exportStar(require("./display"), exports);
|
|
16
17
|
__exportStar(require("./errors"), exports);
|
|
17
18
|
__exportStar(require("./firebase"), exports);
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAyB;AACzB,8CAA2B;AAC3B,4CAAyB;AACzB,2CAAwB;AACxB,6CAA0B;AAC1B,4CAAyB;AACzB,4CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAyB;AACzB,8CAA2B;AAC3B,2CAAwB;AACxB,4CAAyB;AACzB,2CAAwB;AACxB,6CAA0B;AAC1B,4CAAyB;AACzB,4CAAyB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agnostack/next-shopify",
|
|
3
|
-
"version": "1.7.3-
|
|
3
|
+
"version": "1.7.3-beta.2",
|
|
4
4
|
"author": "agnoStack Dev <developers@agnostack.com> (https://agnostack.com)",
|
|
5
5
|
"owner": "agnoStack",
|
|
6
6
|
"description": "Please contact agnoStack via info@agnostack.com for any questions",
|