@blocklet/sdk 1.16.33-beta-20241101-112845-28d6ce4b → 1.16.33-beta-20241102-083409-a924dd84
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/lib/util/verify-sign.d.ts +10 -0
- package/lib/util/verify-sign.js +12 -8
- package/package.json +7 -7
|
@@ -14,15 +14,25 @@ declare const getVerifyData: (req: Request, type?: SignType) => {
|
|
|
14
14
|
sig: string;
|
|
15
15
|
data: object;
|
|
16
16
|
};
|
|
17
|
+
type SignSeed = {
|
|
18
|
+
body?: any;
|
|
19
|
+
query?: any;
|
|
20
|
+
method?: string;
|
|
21
|
+
url?: string;
|
|
22
|
+
iat: number;
|
|
23
|
+
exp: number;
|
|
24
|
+
};
|
|
17
25
|
declare const getSignData: ({ data, params, method, url, }: {
|
|
18
26
|
data: object;
|
|
19
27
|
params: object;
|
|
20
28
|
method: string;
|
|
21
29
|
url: string;
|
|
30
|
+
raw?: SignSeed;
|
|
22
31
|
}, signOptions?: object) => {
|
|
23
32
|
sig: string;
|
|
24
33
|
iat: number;
|
|
25
34
|
exp: number;
|
|
26
35
|
version: string;
|
|
36
|
+
raw: SignSeed;
|
|
27
37
|
};
|
|
28
38
|
export { verify, sign, getVerifyData, getSignData };
|
package/lib/util/verify-sign.js
CHANGED
|
@@ -30,6 +30,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
32
|
exports.getSignData = exports.getVerifyData = exports.sign = exports.verify = void 0;
|
|
33
|
+
const merge_1 = __importDefault(require("lodash/merge"));
|
|
33
34
|
const json_stable_stringify_1 = __importDefault(require("json-stable-stringify"));
|
|
34
35
|
const ufo_1 = require("ufo");
|
|
35
36
|
const constant_1 = require("@blocklet/constant");
|
|
@@ -69,13 +70,14 @@ const getLatestFn = ({ iat, exp, body, query, method, url, }) => {
|
|
|
69
70
|
if (exp < now) {
|
|
70
71
|
throw new Error('expired sig');
|
|
71
72
|
}
|
|
73
|
+
const tmp = (0, ufo_1.parseURL)(url);
|
|
72
74
|
const data = {
|
|
73
75
|
iat,
|
|
74
76
|
exp,
|
|
75
77
|
body: body ?? {},
|
|
76
|
-
query: query ?? {},
|
|
78
|
+
query: (0, merge_1.default)(qs_1.default.parse(tmp.search.slice(1)), query ?? {}),
|
|
77
79
|
method: method.toLowerCase(),
|
|
78
|
-
url:
|
|
80
|
+
url: tmp.pathname,
|
|
79
81
|
};
|
|
80
82
|
return data;
|
|
81
83
|
};
|
|
@@ -105,23 +107,25 @@ exports.getVerifyData = getVerifyData;
|
|
|
105
107
|
const getSignData = ({ data, params, method, url, }, signOptions) => {
|
|
106
108
|
const iat = Math.floor(Date.now() / 1000);
|
|
107
109
|
const exp = iat + 60 * 5;
|
|
108
|
-
const
|
|
110
|
+
const raw = {
|
|
109
111
|
iat,
|
|
110
112
|
exp,
|
|
111
113
|
};
|
|
114
|
+
const tmp = (0, ufo_1.parseURL)(url);
|
|
112
115
|
// 此处的数据为了保持和 verify 一致,需要做一次 JSON.parse 和 qs.parse
|
|
113
|
-
|
|
116
|
+
raw.body = JSON.parse(JSON.stringify(data ?? {}));
|
|
114
117
|
// NOTICE: 为了保持和 verify 一致,需要做一次 qs.stringify 和 qs.parse
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const sig = sign(
|
|
118
|
+
raw.query = qs_1.default.parse(qs_1.default.stringify((0, merge_1.default)(qs_1.default.parse(tmp.search.slice(1)), params ?? {})));
|
|
119
|
+
raw.method = method.toLowerCase();
|
|
120
|
+
raw.url = tmp.pathname;
|
|
121
|
+
const sig = sign(raw, signOptions);
|
|
119
122
|
const version = constant_1.SIG_VERSION.DEFAULT;
|
|
120
123
|
return {
|
|
121
124
|
sig,
|
|
122
125
|
iat,
|
|
123
126
|
exp,
|
|
124
127
|
version,
|
|
128
|
+
raw,
|
|
125
129
|
};
|
|
126
130
|
};
|
|
127
131
|
exports.getSignData = getSignData;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.16.33-beta-
|
|
6
|
+
"version": "1.16.33-beta-20241102-083409-a924dd84",
|
|
7
7
|
"description": "graphql client to read/write data on abt node",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"typings": "lib/index.d.ts",
|
|
@@ -27,15 +27,15 @@
|
|
|
27
27
|
"author": "linchen1987 <linchen.1987@foxmail.com> (http://github.com/linchen1987)",
|
|
28
28
|
"license": "Apache-2.0",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@abtnode/client": "1.16.33-beta-
|
|
31
|
-
"@abtnode/constant": "1.16.33-beta-
|
|
30
|
+
"@abtnode/client": "1.16.33-beta-20241102-083409-a924dd84",
|
|
31
|
+
"@abtnode/constant": "1.16.33-beta-20241102-083409-a924dd84",
|
|
32
32
|
"@arcblock/did": "1.18.137",
|
|
33
33
|
"@arcblock/did-auth": "1.18.137",
|
|
34
34
|
"@arcblock/jwt": "1.18.137",
|
|
35
35
|
"@arcblock/ws": "1.18.137",
|
|
36
|
-
"@blocklet/constant": "1.16.33-beta-
|
|
37
|
-
"@blocklet/env": "1.16.33-beta-
|
|
38
|
-
"@blocklet/meta": "1.16.33-beta-
|
|
36
|
+
"@blocklet/constant": "1.16.33-beta-20241102-083409-a924dd84",
|
|
37
|
+
"@blocklet/env": "1.16.33-beta-20241102-083409-a924dd84",
|
|
38
|
+
"@blocklet/meta": "1.16.33-beta-20241102-083409-a924dd84",
|
|
39
39
|
"@did-connect/authenticator": "^2.2.4",
|
|
40
40
|
"@did-connect/handler": "^2.2.4",
|
|
41
41
|
"@nedb/core": "^2.1.5",
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"ts-node": "^10.9.1",
|
|
79
79
|
"typescript": "^5.6.3"
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "bc8a9ea91a3012635f25fb1594d96d3a10971517"
|
|
82
82
|
}
|