@agnostack/next-shopify 1.7.7-beta.2 → 1.7.7-beta.3
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/utils/crypto.d.ts +14 -8
- package/dist/utils/crypto.js +95 -37
- package/dist/utils/crypto.js.map +1 -1
- package/dist/utils/session.js +4 -14
- package/dist/utils/session.js.map +1 -1
- package/package.json +1 -1
package/dist/utils/crypto.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
export function wrapKeyData(keyData: any, keyType?: string): string;
|
|
2
|
-
export function getRecrypted(encrypted: any): {
|
|
3
|
-
initialVector: any;
|
|
4
|
-
encrypted: string;
|
|
5
|
-
};
|
|
6
|
-
export function decryptAES(toDecrypt: any, sharedSecret: any, initialVector: any): string;
|
|
7
|
-
export function decryptRSAPublic(toDecrypt: any, publicKey: any, encoding?: string): string;
|
|
8
|
-
export function encryptRSAPrivate(toEncrypt: any, privateKey: any, encoding?: string): string;
|
|
9
1
|
export function generateHMAC(message: any, apiSecret: any, digest?: string): Buffer & string;
|
|
10
2
|
export function compareHashes(digestable: any, checkSumable: any, encoding?: string): boolean;
|
|
3
|
+
export class CryptoHandler {
|
|
4
|
+
static getInstance(config: any): any;
|
|
5
|
+
constructor(enforcer: any, config: any);
|
|
6
|
+
type: string;
|
|
7
|
+
config: any;
|
|
8
|
+
get isInitialized(): boolean;
|
|
9
|
+
initialize(): void;
|
|
10
|
+
cryptoConfig: {};
|
|
11
|
+
decrypt(encrypted: any): any;
|
|
12
|
+
encrypt(decrypted: any): any;
|
|
13
|
+
[singleton]: CryptoHandler;
|
|
14
|
+
}
|
|
15
|
+
declare const singleton: unique symbol;
|
|
16
|
+
export {};
|
package/dist/utils/crypto.js
CHANGED
|
@@ -3,45 +3,48 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.CryptoHandler = exports.compareHashes = exports.generateHMAC = void 0;
|
|
7
7
|
const crypto_1 = __importDefault(require("crypto"));
|
|
8
8
|
const display_1 = require("./display");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
9
|
+
// import { ensureString, objectNotEmpty } from './display'
|
|
10
|
+
// const wrapKeyData = (keyData, keyType = 'RSA PRIVATE') => (
|
|
11
|
+
// `-----BEGIN ${keyType} KEY-----${
|
|
12
|
+
// ensureString(keyData).replace(/"/g, '')
|
|
13
|
+
// }-----END ${keyType} KEY-----\n`.replace(/\\n/g, '\n')
|
|
14
|
+
// )
|
|
15
|
+
// asda
|
|
16
|
+
// const getRecrypted = (encrypted) => {
|
|
17
|
+
// const [beginning, hiddenInitialVector, end = ''] = encrypted.split(/_(.*==)=/g)
|
|
18
|
+
// return { initialVector: hiddenInitialVector, encrypted: `${beginning}${end}` }
|
|
19
|
+
// }
|
|
20
|
+
// const decryptAES = (toDecrypt, sharedSecret, initialVector) => {
|
|
21
|
+
// if (!toDecrypt || !sharedSecret || !initialVector) return ''
|
|
22
|
+
// const decipher = crypto.createDecipheriv(
|
|
23
|
+
// 'aes-256-cbc',
|
|
24
|
+
// Buffer.from(sharedSecret, 'base64'),
|
|
25
|
+
// Buffer.from(initialVector, 'base64')
|
|
26
|
+
// )
|
|
27
|
+
// const decrypted = Buffer.concat([
|
|
28
|
+
// decipher.update(Buffer.from(toDecrypt, 'base64')),
|
|
29
|
+
// decipher.final()
|
|
30
|
+
// ])
|
|
31
|
+
// return decrypted.toString('utf8')
|
|
32
|
+
// }
|
|
33
|
+
// const decryptRSAPublic = (toDecrypt, publicKey, encoding = 'utf8') => (!toDecrypt || !publicKey
|
|
34
|
+
// ? ''
|
|
35
|
+
// : crypto
|
|
36
|
+
// .publicDecrypt(publicKey, Buffer.from(toDecrypt, 'base64'))
|
|
37
|
+
// .toString(encoding)
|
|
38
|
+
// )
|
|
39
|
+
// const encryptRSAPrivate = (toEncrypt, privateKey, encoding = 'utf8') => (!toEncrypt || !privateKey
|
|
40
|
+
// ? ''
|
|
41
|
+
// : crypto
|
|
42
|
+
// .privateEncrypt(privateKey, Buffer.from(JSON.stringify(toEncrypt), encoding))
|
|
43
|
+
// .toString('base64')
|
|
44
|
+
// )
|
|
45
|
+
const generateHMAC = (message, apiSecret, digest = 'hex') => (crypto_1.default.createHmac('sha256', apiSecret)
|
|
46
|
+
.update(message)
|
|
47
|
+
.digest(digest));
|
|
45
48
|
exports.generateHMAC = generateHMAC;
|
|
46
49
|
const compareHashes = (digestable, checkSumable, encoding = 'utf8') => {
|
|
47
50
|
const digest = (digestable instanceof ArrayBuffer)
|
|
@@ -54,4 +57,59 @@ const compareHashes = (digestable, checkSumable, encoding = 'utf8') => {
|
|
|
54
57
|
crypto_1.default.timingSafeEqual(digest, checkSum));
|
|
55
58
|
};
|
|
56
59
|
exports.compareHashes = compareHashes;
|
|
60
|
+
const singleton = Symbol('singleton');
|
|
61
|
+
const singletonEnforcer = Symbol('singletonEnforcer');
|
|
62
|
+
class CryptoHandler {
|
|
63
|
+
constructor(enforcer, config) {
|
|
64
|
+
if (enforcer !== singletonEnforcer) {
|
|
65
|
+
throw new Error('Cannot instantiate CryptoHandler directly, please use getInstance()');
|
|
66
|
+
}
|
|
67
|
+
this.type = 'CryptoHandler';
|
|
68
|
+
this.config = config;
|
|
69
|
+
}
|
|
70
|
+
get isInitialized() {
|
|
71
|
+
return (this.cryptoConfig != undefined);
|
|
72
|
+
}
|
|
73
|
+
initialize() {
|
|
74
|
+
if (display_1.objectNotEmpty(this.config)) {
|
|
75
|
+
// const { encryptedPrivateKey, encryptedPublicKey, sharedSecret } = this.config
|
|
76
|
+
// const {
|
|
77
|
+
// initialVector: hiddenPublicIv,
|
|
78
|
+
// encrypted: recryptedPublicKey,
|
|
79
|
+
// } = getRecrypted(encryptedPublicKey)
|
|
80
|
+
// const {
|
|
81
|
+
// initialVector: hiddenPrivateIv,
|
|
82
|
+
// encrypted: recryptedPrivateKey,
|
|
83
|
+
// } = getRecrypted(encryptedPrivateKey)
|
|
84
|
+
this.cryptoConfig = {
|
|
85
|
+
// publicKey: wrapKeyData(decryptAES(
|
|
86
|
+
// recryptedPublicKey,
|
|
87
|
+
// sharedSecret,
|
|
88
|
+
// hiddenPublicIv
|
|
89
|
+
// ), 'RSA PUBLIC'),
|
|
90
|
+
// privateKey: wrapKeyData(decryptAES(
|
|
91
|
+
// recryptedPrivateKey,
|
|
92
|
+
// sharedSecret,
|
|
93
|
+
// hiddenPrivateIv
|
|
94
|
+
// )),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
static getInstance(config) {
|
|
99
|
+
if (!this[singleton]) {
|
|
100
|
+
this[singleton] = new CryptoHandler(singletonEnforcer, config);
|
|
101
|
+
}
|
|
102
|
+
if (!this[singleton].isInitialized) {
|
|
103
|
+
this[singleton].initialize();
|
|
104
|
+
}
|
|
105
|
+
return this[singleton];
|
|
106
|
+
}
|
|
107
|
+
decrypt(encrypted) {
|
|
108
|
+
return encrypted; // decryptRSAPublic(encrypted, this.cryptoConfig.publicKey)
|
|
109
|
+
}
|
|
110
|
+
encrypt(decrypted) {
|
|
111
|
+
return decrypted; // encryptRSAPrivate(decrypted, this.cryptoConfig.privateKey)
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.CryptoHandler = CryptoHandler;
|
|
57
115
|
//# sourceMappingURL=crypto.js.map
|
package/dist/utils/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.js"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAE3B,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/utils/crypto.js"],"names":[],"mappings":"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"}
|
package/dist/utils/session.js
CHANGED
|
@@ -15,25 +15,16 @@ exports.getVerifiedClients = exports.getShopifyHelpers = void 0;
|
|
|
15
15
|
const shopify_api_1 = require("@shopify/shopify-api");
|
|
16
16
|
const luxon_1 = require("luxon");
|
|
17
17
|
const billing_1 = require("./billing");
|
|
18
|
-
const crypto_1 = require("./crypto");
|
|
19
18
|
const display_1 = require("./display");
|
|
20
19
|
const shopify_1 = require("./shopify");
|
|
21
20
|
const firebase_1 = require("./firebase");
|
|
21
|
+
const crypto_1 = require("./crypto");
|
|
22
22
|
const errors_1 = require("./errors");
|
|
23
|
-
// #region CRYPTO
|
|
24
|
-
const getPublicKey = ({ encryptedPublicKey, sharedSecret }) => {
|
|
25
|
-
const { initialVector: hiddenPublicIv, encrypted: recryptedPublicKey, } = crypto_1.getRecrypted(encryptedPublicKey);
|
|
26
|
-
return crypto_1.wrapKeyData(crypto_1.decryptAES(recryptedPublicKey, sharedSecret, hiddenPublicIv), 'RSA PUBLIC');
|
|
27
|
-
};
|
|
28
|
-
const getPrivateKey = ({ encryptedPrivateKey, sharedSecret }) => {
|
|
29
|
-
const { initialVector: hiddenPrivateIv, encrypted: recryptedPrivateKey, } = crypto_1.getRecrypted(encryptedPrivateKey);
|
|
30
|
-
return crypto_1.wrapKeyData(crypto_1.decryptAES(recryptedPrivateKey, sharedSecret, hiddenPrivateIv));
|
|
31
|
-
};
|
|
32
|
-
// #endregion CRYPTO
|
|
33
23
|
const getShopifyHelpers = async (serverRuntimeConfig, { shop }) => {
|
|
34
24
|
var _a;
|
|
35
25
|
const shopify = await shopify_1.getInitializedShopify(serverRuntimeConfig);
|
|
36
26
|
const { FB_CONFIG, FB_ROOT_COLLECTION, SESSION_CONFIG, APP_ID } = serverRuntimeConfig;
|
|
27
|
+
const cryptoHandler = crypto_1.CryptoHandler.getInstance(SESSION_CONFIG);
|
|
37
28
|
const sessionHandler = firebase_1.FirebaseSessionHandler.getInstance(FB_CONFIG, {
|
|
38
29
|
collection: FB_ROOT_COLLECTION,
|
|
39
30
|
config: { configurationId: APP_ID, shop: (_a = shopify === null || shopify === void 0 ? void 0 : shopify.utils) === null || _a === void 0 ? void 0 : _a.sanitizeShop(shop) },
|
|
@@ -59,7 +50,7 @@ const getShopifyHelpers = async (serverRuntimeConfig, { shop }) => {
|
|
|
59
50
|
if (!sessionActive) {
|
|
60
51
|
throw new Error('Inactive session');
|
|
61
52
|
}
|
|
62
|
-
return Object.assign(Object.assign({}, session), { accessToken: JSON.parse(
|
|
53
|
+
return Object.assign(Object.assign({}, session), { accessToken: JSON.parse(cryptoHandler.decrypt(encryptedAccessToken)) });
|
|
63
54
|
}
|
|
64
55
|
catch (error) {
|
|
65
56
|
throw new errors_1.ShopifyAuthenticationError(error === null || error === void 0 ? void 0 : error.message);
|
|
@@ -67,8 +58,7 @@ const getShopifyHelpers = async (serverRuntimeConfig, { shop }) => {
|
|
|
67
58
|
};
|
|
68
59
|
const encryptStoreSession = async (_session) => {
|
|
69
60
|
const { accessToken } = _session, session = __rest(_session, ["accessToken"]);
|
|
70
|
-
|
|
71
|
-
return firebase_1.storeCallback(sessionHandler, Object.assign(Object.assign({}, session), { accessToken: encryptedAccessToken }));
|
|
61
|
+
return firebase_1.storeCallback(sessionHandler, Object.assign(Object.assign({}, session), { accessToken: cryptoHandler.encrypt(accessToken) }));
|
|
72
62
|
};
|
|
73
63
|
return Object.assign({ shopify, loadSession: () => ({}), storeSession: () => ({}), deleteSessions: () => undefined, findSessionIds: () => ([]) }, shopify && {
|
|
74
64
|
loadSession: decryptVerifySession,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAwD;AACxD,iCAAgC;AAEhC,uCAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/utils/session.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agnostack/next-shopify",
|
|
3
|
-
"version": "1.7.7-beta.
|
|
3
|
+
"version": "1.7.7-beta.3",
|
|
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",
|