@agnostack/next-shopify 1.14.0-beta.5 → 1.14.0-beta.6
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
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [1.14.0-beta.6](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.5...v1.14.0-beta.6) (2023-12-04)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* wip ([bb5fa6a](https://github.com/agnostack/next-shopify/commit/bb5fa6a859ea8358fb4683c1f6d7d77f994f2d1e))
|
|
7
|
+
|
|
1
8
|
# [1.14.0-beta.5](https://github.com/agnostack/next-shopify/compare/v1.14.0-beta.4...v1.14.0-beta.5) (2023-12-04)
|
|
2
9
|
|
|
3
10
|
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
export function useVerification(publicKey
|
|
2
|
-
|
|
1
|
+
export function useVerification({ publicKey, disableEncryption }?: {
|
|
2
|
+
publicKey: any;
|
|
3
|
+
disableEncryption: any;
|
|
4
|
+
}): {
|
|
5
|
+
prepareVerification: (requestPath: any, { body: rawBody, headers: rawHeaders, method: rawMethod }?: {
|
|
3
6
|
body: any;
|
|
4
7
|
headers: any;
|
|
5
8
|
method: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVerification.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useVerification.js"],"names":[],"mappings":"AAUO
|
|
1
|
+
{"version":3,"file":"useVerification.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useVerification.js"],"names":[],"mappings":"AAUO;;;;;;;;;;EAoGN"}
|
|
@@ -4,7 +4,7 @@ exports.useVerification = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const shared_1 = require("../../shared");
|
|
7
|
-
const useVerification = (publicKey) => {
|
|
7
|
+
const useVerification = ({ publicKey, disableEncryption } = {}) => {
|
|
8
8
|
const [keysData, setKeysData] = (0, react_1.useState)();
|
|
9
9
|
const getKeysData = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
10
10
|
const _ephemeralStoreableKeyPair = yield shared_1.subtle.getStorableKeyPair(yield shared_1.subtle.generateKeyPair());
|
|
@@ -17,7 +17,18 @@ const useVerification = (publicKey) => {
|
|
|
17
17
|
verification: _verificationKeyPair,
|
|
18
18
|
};
|
|
19
19
|
});
|
|
20
|
-
const prepareVerification = (requestPath, { body:
|
|
20
|
+
const prepareVerification = (requestPath, { body: rawBody, headers: rawHeaders, method: rawMethod } = {}) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
+
if (disableEncryption) {
|
|
22
|
+
const method = (0, shared_1.getRequestMethod)(rawBody, rawMethod);
|
|
23
|
+
return [
|
|
24
|
+
requestPath,
|
|
25
|
+
{
|
|
26
|
+
method,
|
|
27
|
+
body: rawBody,
|
|
28
|
+
headers: rawHeaders,
|
|
29
|
+
}
|
|
30
|
+
];
|
|
31
|
+
}
|
|
21
32
|
const _keysData = keysData !== null && keysData !== void 0 ? keysData : (yield getKeysData());
|
|
22
33
|
if (_keysData && !keysData) {
|
|
23
34
|
setKeysData(_keysData);
|
|
@@ -26,11 +37,11 @@ const useVerification = (publicKey) => {
|
|
|
26
37
|
if (!derivedHMACKey || !ephemeralPublicKey) {
|
|
27
38
|
return undefined;
|
|
28
39
|
}
|
|
29
|
-
let body =
|
|
30
|
-
if (
|
|
31
|
-
body = yield shared_1.subtle.encryptMessage(JSON.stringify(
|
|
40
|
+
let body = rawBody;
|
|
41
|
+
if (rawBody && derivedSecretKey) {
|
|
42
|
+
body = yield shared_1.subtle.encryptMessage(JSON.stringify(rawBody), derivedSecretKey);
|
|
32
43
|
}
|
|
33
|
-
const method = (0, shared_1.getRequestMethod)(body,
|
|
44
|
+
const method = (0, shared_1.getRequestMethod)(body, rawMethod);
|
|
34
45
|
const timestamp = (0, shared_1.toUnixString)();
|
|
35
46
|
const computedHMAC = yield shared_1.subtle.generateHMAC((0, shared_1.objectToSortedString)(Object.assign({ body,
|
|
36
47
|
method,
|
|
@@ -40,7 +51,7 @@ const useVerification = (publicKey) => {
|
|
|
40
51
|
{
|
|
41
52
|
body,
|
|
42
53
|
method,
|
|
43
|
-
headers: Object.assign({ 'X-Authorization': `HMAC-SHA256 ${computedHMAC}`, 'X-Authorization-Timestamp': timestamp, 'X-Ephemeral-Key': ephemeralPublicKey, 'X-Public-Key': publicKey },
|
|
54
|
+
headers: Object.assign({ 'X-Authorization': `HMAC-SHA256 ${computedHMAC}`, 'X-Authorization-Timestamp': timestamp, 'X-Ephemeral-Key': ephemeralPublicKey, 'X-Public-Key': publicKey }, rawHeaders),
|
|
44
55
|
},
|
|
45
56
|
derivedSecretKey
|
|
46
57
|
];
|
|
@@ -48,8 +59,8 @@ const useVerification = (publicKey) => {
|
|
|
48
59
|
const handleDecryptResponse = (encryptedResponse, _derivedSecretKey) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
49
60
|
var _a;
|
|
50
61
|
const derivedSecretKey = _derivedSecretKey !== null && _derivedSecretKey !== void 0 ? _derivedSecretKey : (_a = keysData === null || keysData === void 0 ? void 0 : keysData.verification) === null || _a === void 0 ? void 0 : _a.derivedSecretKey;
|
|
51
|
-
if (
|
|
52
|
-
return
|
|
62
|
+
if ((encryptedResponse == undefined) || !derivedSecretKey) {
|
|
63
|
+
return encryptedResponse;
|
|
53
64
|
}
|
|
54
65
|
const decryptedMessage = yield shared_1.subtle.decryptMessage(encryptedResponse, derivedSecretKey);
|
|
55
66
|
return JSON.parse(decryptedMessage !== null && decryptedMessage !== void 0 ? decryptedMessage : '{}');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVerification.js","sourceRoot":"","sources":["../../../src/react/hooks/useVerification.js"],"names":[],"mappings":";;;;AAAA,iCAAgC;AAEhC,yCAMqB;AAEd,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"useVerification.js","sourceRoot":"","sources":["../../../src/react/hooks/useVerification.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.14.0-beta.
|
|
3
|
+
"version": "1.14.0-beta.6",
|
|
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",
|