@blocklet/sdk 1.16.47-beta-20250808-102837-d10f3b40 → 1.16.48-beta-20250808-223254-2bfaa0e0
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/config.d.ts +2 -0
- package/lib/config.js +2 -0
- package/lib/middlewares/session.js +25 -14
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +10 -10
package/lib/config.d.ts
CHANGED
|
@@ -88,6 +88,7 @@ declare const getBlockletSettings: () => {
|
|
|
88
88
|
};
|
|
89
89
|
};
|
|
90
90
|
federated: any;
|
|
91
|
+
enableBlacklist: boolean;
|
|
91
92
|
};
|
|
92
93
|
declare const getBlockletJs: (pageGroup?: string, pathPrefix?: string, source?: string) => string;
|
|
93
94
|
export { logger, setLogger, env, componentStore as components, MountPoint, // @deprecated, for backward compatibility
|
|
@@ -157,6 +158,7 @@ declare const _default: {
|
|
|
157
158
|
};
|
|
158
159
|
};
|
|
159
160
|
federated: any;
|
|
161
|
+
enableBlacklist: boolean;
|
|
160
162
|
};
|
|
161
163
|
};
|
|
162
164
|
export default _default;
|
package/lib/config.js
CHANGED
|
@@ -285,6 +285,7 @@ let blockletJs = '';
|
|
|
285
285
|
const blockletSettings = {
|
|
286
286
|
theme: DEFAULT_THEME_SETTINGS,
|
|
287
287
|
federated: null,
|
|
288
|
+
enableBlacklist: false,
|
|
288
289
|
};
|
|
289
290
|
const fetchBlockletJs = async (type = 'js') => {
|
|
290
291
|
const componentDid = process.env.BLOCKLET_COMPONENT_DID;
|
|
@@ -333,6 +334,7 @@ const fetchBlockletData = async () => {
|
|
|
333
334
|
}
|
|
334
335
|
const { blocklet } = await authClient.getBlocklet();
|
|
335
336
|
blockletSettings.federated = blocklet.settings?.federated;
|
|
337
|
+
blockletSettings.enableBlacklist = blocklet.settings?.session?.enableBlacklist;
|
|
336
338
|
return blocklet;
|
|
337
339
|
}
|
|
338
340
|
catch (err) {
|
|
@@ -6,6 +6,7 @@ const get_token_from_req_1 = require("@abtnode/util/lib/get-token-from-req");
|
|
|
6
6
|
const service_api_1 = __importDefault(require("../util/service-api"));
|
|
7
7
|
const login_1 = require("../util/login");
|
|
8
8
|
const verify_session_1 = require("../util/verify-session");
|
|
9
|
+
const config_1 = __importDefault(require("../config"));
|
|
9
10
|
const sessionMiddleware = (options = {}) => {
|
|
10
11
|
const { loginToken = true, componentCall = false, signedToken = '', strictMode = false, accessKey = false, signedTokenKey = '__jwt', } = options;
|
|
11
12
|
return async (req, res, next) => {
|
|
@@ -22,21 +23,31 @@ const sessionMiddleware = (options = {}) => {
|
|
|
22
23
|
res.status(400).send('Access token found in multiple locations');
|
|
23
24
|
return;
|
|
24
25
|
}
|
|
25
|
-
if (
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
if (loginTokenValue && typeof loginTokenValue === 'string') {
|
|
27
|
+
if (process.env.NODE_ENV !== 'test') {
|
|
28
|
+
const blockletSettings = config_1.default.getBlockletSettings();
|
|
29
|
+
// 未开启黑名单功能,则跳过检查
|
|
30
|
+
if (blockletSettings.enableBlacklist) {
|
|
31
|
+
const { data: checkResult } = await service_api_1.default.post('/api/user/checkToken', {
|
|
32
|
+
token: loginTokenValue,
|
|
33
|
+
});
|
|
34
|
+
if (!checkResult.valid) {
|
|
35
|
+
if (strictMode) {
|
|
36
|
+
res.status(401).send('Access token is blocked');
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// 如果未设置 strictMode,则直接 next,相当于未登录状态
|
|
40
|
+
next();
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if ((0, login_1.isLoginToken)(loginTokenValue)) {
|
|
46
|
+
result = await (0, verify_session_1.verifyLoginToken)({ token: loginTokenValue, strictMode });
|
|
47
|
+
}
|
|
48
|
+
else if ((0, login_1.isAccessKey)(loginTokenValue) && accessKey) {
|
|
49
|
+
result = await (0, verify_session_1.verifyAccessKey)({ token: loginTokenValue, strictMode });
|
|
32
50
|
}
|
|
33
|
-
}
|
|
34
|
-
// TODO: 检查 login_token 是否在黑名单中
|
|
35
|
-
if ((0, login_1.isLoginToken)(loginTokenValue)) {
|
|
36
|
-
result = await (0, verify_session_1.verifyLoginToken)({ token: loginTokenValue, strictMode });
|
|
37
|
-
}
|
|
38
|
-
else if ((0, login_1.isAccessKey)(loginTokenValue) && accessKey) {
|
|
39
|
-
result = await (0, verify_session_1.verifyAccessKey)({ token: loginTokenValue, strictMode });
|
|
40
51
|
}
|
|
41
52
|
}
|
|
42
53
|
// authenticate by component call
|
package/lib/version.d.ts
CHANGED
package/lib/version.js
CHANGED
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.16.
|
|
6
|
+
"version": "1.16.48-beta-20250808-223254-2bfaa0e0",
|
|
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,19 +27,19 @@
|
|
|
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.
|
|
31
|
-
"@abtnode/constant": "1.16.
|
|
32
|
-
"@abtnode/db-cache": "1.16.
|
|
33
|
-
"@abtnode/util": "1.16.
|
|
30
|
+
"@abtnode/client": "1.16.48-beta-20250808-223254-2bfaa0e0",
|
|
31
|
+
"@abtnode/constant": "1.16.48-beta-20250808-223254-2bfaa0e0",
|
|
32
|
+
"@abtnode/db-cache": "1.16.48-beta-20250808-223254-2bfaa0e0",
|
|
33
|
+
"@abtnode/util": "1.16.48-beta-20250808-223254-2bfaa0e0",
|
|
34
34
|
"@arcblock/did": "1.21.2",
|
|
35
35
|
"@arcblock/did-connect-js": "1.21.2",
|
|
36
36
|
"@arcblock/jwt": "1.21.2",
|
|
37
37
|
"@arcblock/ws": "1.21.2",
|
|
38
|
-
"@blocklet/constant": "1.16.
|
|
39
|
-
"@blocklet/env": "1.16.
|
|
38
|
+
"@blocklet/constant": "1.16.48-beta-20250808-223254-2bfaa0e0",
|
|
39
|
+
"@blocklet/env": "1.16.48-beta-20250808-223254-2bfaa0e0",
|
|
40
40
|
"@blocklet/error": "^0.2.5",
|
|
41
|
-
"@blocklet/meta": "1.16.
|
|
42
|
-
"@blocklet/theme": "^3.1.
|
|
41
|
+
"@blocklet/meta": "1.16.48-beta-20250808-223254-2bfaa0e0",
|
|
42
|
+
"@blocklet/theme": "^3.1.5",
|
|
43
43
|
"@did-connect/authenticator": "^2.2.8",
|
|
44
44
|
"@did-connect/handler": "^2.2.8",
|
|
45
45
|
"@nedb/core": "^2.1.5",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"ts-node": "^10.9.1",
|
|
86
86
|
"typescript": "^5.6.3"
|
|
87
87
|
},
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "8575d838603cf060c2b448930d36a70e5af1adfa"
|
|
89
89
|
}
|