@blocklet/sdk 1.17.4-beta-20251203-225234-75da41dd → 1.17.4-beta-20251204-152224-243ff54f
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.
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.verifyBlockletSig = void 0;
|
|
7
|
+
const ufo_1 = require("ufo");
|
|
7
8
|
const config_1 = __importDefault(require("../config"));
|
|
8
9
|
const verify_sign_1 = require("../util/verify-sign");
|
|
9
10
|
const verifyBlockletSig = async (req, res, next) => {
|
|
@@ -12,7 +13,11 @@ const verifyBlockletSig = async (req, res, next) => {
|
|
|
12
13
|
if (!sig) {
|
|
13
14
|
return res.status(400).json({ error: 'Bad Request' });
|
|
14
15
|
}
|
|
15
|
-
const
|
|
16
|
+
const pathPrefix = req?.get('x-path-prefix');
|
|
17
|
+
let verified = await (0, verify_sign_1.verify)(data, sig);
|
|
18
|
+
if (!verified && pathPrefix && data?.url && !data.url?.startsWith(pathPrefix)) {
|
|
19
|
+
verified = await (0, verify_sign_1.verify)({ ...data, url: (0, ufo_1.joinURL)(pathPrefix, data.url) }, sig);
|
|
20
|
+
}
|
|
16
21
|
if (!verified) {
|
|
17
22
|
config_1.default.logger.error('verify blocklet sig failed', { data, sig });
|
|
18
23
|
return res.status(401).json({ error: 'verify sig failed' });
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.verifySig = void 0;
|
|
7
|
+
const ufo_1 = require("ufo");
|
|
7
8
|
const config_1 = __importDefault(require("../config"));
|
|
8
9
|
const verify_sign_1 = require("../util/verify-sign");
|
|
9
10
|
const verifySig = async (req, res, next) => {
|
|
@@ -12,7 +13,11 @@ const verifySig = async (req, res, next) => {
|
|
|
12
13
|
if (!sig) {
|
|
13
14
|
return res.status(400).json({ error: 'Bad Request' });
|
|
14
15
|
}
|
|
15
|
-
const
|
|
16
|
+
const pathPrefix = req?.get('x-path-prefix');
|
|
17
|
+
let verified = await (0, verify_sign_1.verify)(data, sig);
|
|
18
|
+
if (!verified && pathPrefix && data?.url && !data.url?.startsWith(pathPrefix)) {
|
|
19
|
+
verified = await (0, verify_sign_1.verify)({ ...data, url: (0, ufo_1.joinURL)(pathPrefix, data.url) }, sig);
|
|
20
|
+
}
|
|
16
21
|
if (!verified) {
|
|
17
22
|
config_1.default.logger.error('verify component sig failed', { data, sig });
|
|
18
23
|
return res.status(401).json({ error: 'verify sig failed' });
|
|
@@ -12,6 +12,7 @@ const constant_1 = require("@blocklet/constant");
|
|
|
12
12
|
const jwt_1 = require("@arcblock/jwt");
|
|
13
13
|
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
14
14
|
const mcrypto_1 = require("@ocap/mcrypto");
|
|
15
|
+
const ufo_1 = require("ufo");
|
|
15
16
|
const wallet_1 = require("../wallet");
|
|
16
17
|
const auth_1 = require("../middlewares/auth");
|
|
17
18
|
const login_1 = require("./login");
|
|
@@ -91,7 +92,14 @@ async function verifyComponentCall({ req, strictMode }) {
|
|
|
91
92
|
// 所有请求都会调用 verifyComponentCall,所以需要确保 getVerifyData 抛错时,能继续执行后续逻辑
|
|
92
93
|
return null;
|
|
93
94
|
}
|
|
94
|
-
|
|
95
|
+
const pathPrefix = req?.get('x-path-prefix');
|
|
96
|
+
let verified = await (0, verify_sign_1.verify)(data, sig, { appSk: process.env.BLOCKLET_APP_ASK || process.env.BLOCKLET_APP_SK });
|
|
97
|
+
if (!verified && pathPrefix && data?.url && !data.url?.startsWith(pathPrefix)) {
|
|
98
|
+
verified = await (0, verify_sign_1.verify)({ ...data, url: (0, ufo_1.joinURL)(pathPrefix, data.url) }, sig, {
|
|
99
|
+
appSk: process.env.BLOCKLET_APP_ASK || process.env.BLOCKLET_APP_SK,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
if (!verified) {
|
|
95
103
|
if (strictMode) {
|
|
96
104
|
throw new Error('Unauthorized: Invalid signature');
|
|
97
105
|
}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.17.4-beta-
|
|
6
|
+
"version": "1.17.4-beta-20251204-152224-243ff54f",
|
|
7
7
|
"description": "graphql client to read/write data on abt node",
|
|
8
8
|
"homepage": "https://www.arcblock.io/docs/blocklet-sdk-nodejs",
|
|
9
9
|
"main": "lib/index.js",
|
|
@@ -26,19 +26,19 @@
|
|
|
26
26
|
"author": "linchen1987 <linchen.1987@foxmail.com> (http://github.com/linchen1987)",
|
|
27
27
|
"license": "Apache-2.0",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@abtnode/constant": "1.17.4-beta-
|
|
30
|
-
"@abtnode/db-cache": "1.17.4-beta-
|
|
31
|
-
"@abtnode/util": "1.17.4-beta-
|
|
29
|
+
"@abtnode/constant": "1.17.4-beta-20251204-152224-243ff54f",
|
|
30
|
+
"@abtnode/db-cache": "1.17.4-beta-20251204-152224-243ff54f",
|
|
31
|
+
"@abtnode/util": "1.17.4-beta-20251204-152224-243ff54f",
|
|
32
32
|
"@arcblock/did": "^1.27.12",
|
|
33
33
|
"@arcblock/did-connect-js": "^1.27.12",
|
|
34
34
|
"@arcblock/did-ext": "^1.27.12",
|
|
35
35
|
"@arcblock/jwt": "^1.27.12",
|
|
36
36
|
"@arcblock/ws": "^1.27.12",
|
|
37
|
-
"@blocklet/constant": "1.17.4-beta-
|
|
38
|
-
"@blocklet/env": "1.17.4-beta-
|
|
37
|
+
"@blocklet/constant": "1.17.4-beta-20251204-152224-243ff54f",
|
|
38
|
+
"@blocklet/env": "1.17.4-beta-20251204-152224-243ff54f",
|
|
39
39
|
"@blocklet/error": "^0.3.3",
|
|
40
|
-
"@blocklet/meta": "1.17.4-beta-
|
|
41
|
-
"@blocklet/server-js": "1.17.4-beta-
|
|
40
|
+
"@blocklet/meta": "1.17.4-beta-20251204-152224-243ff54f",
|
|
41
|
+
"@blocklet/server-js": "1.17.4-beta-20251204-152224-243ff54f",
|
|
42
42
|
"@blocklet/theme": "^3.2.11",
|
|
43
43
|
"@did-connect/authenticator": "^2.2.8",
|
|
44
44
|
"@did-connect/handler": "^2.2.8",
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
"ts-node": "^10.9.1",
|
|
83
83
|
"typescript": "^5.6.3"
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "090b2f960b834168dfa12b2a559b9256a98be312"
|
|
86
86
|
}
|