@samanhappy/mcphub 1.0.40 → 1.0.42
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/README.fr.md +1 -1
- package/README.md +1 -1
- package/README.zh.md +1 -1
- package/dist/clients/legacyMcpClient.js +37 -0
- package/dist/clients/legacyMcpClient.js.map +1 -0
- package/dist/controllers/mcpbController.js +8 -0
- package/dist/controllers/mcpbController.js.map +1 -1
- package/dist/controllers/oauthCallbackController.js +91 -45
- package/dist/controllers/oauthCallbackController.js.map +1 -1
- package/dist/controllers/serverController.js +52 -7
- package/dist/controllers/serverController.js.map +1 -1
- package/dist/middlewares/index.js +10 -7
- package/dist/middlewares/index.js.map +1 -1
- package/dist/routes/index.js +8 -2
- package/dist/routes/index.js.map +1 -1
- package/dist/services/betterAuthConfig.js +19 -0
- package/dist/services/betterAuthConfig.js.map +1 -1
- package/dist/services/keepAliveService.js +1 -2
- package/dist/services/keepAliveService.js.map +1 -1
- package/dist/services/mcpOAuthProvider.js +14 -1
- package/dist/services/mcpOAuthProvider.js.map +1 -1
- package/dist/services/mcpService.js +76 -40
- package/dist/services/mcpService.js.map +1 -1
- package/dist/services/oauthService.js +1 -2
- package/dist/services/oauthService.js.map +1 -1
- package/dist/services/proxy.js +0 -8
- package/dist/services/proxy.js.map +1 -1
- package/dist/services/sseService.js +5 -5
- package/dist/services/sseService.js.map +1 -1
- package/dist/services/vectorSearchService.js +24 -11
- package/dist/services/vectorSearchService.js.map +1 -1
- package/dist/utils/jsonSchemaValidator.js +5 -5
- package/dist/utils/jsonSchemaValidator.js.map +1 -1
- package/dist/utils/mcpProtocol.js +9 -0
- package/dist/utils/mcpProtocol.js.map +1 -0
- package/dist/utils/oauthIssuer.js +16 -9
- package/dist/utils/oauthIssuer.js.map +1 -1
- package/dist/utils/rateLimit.js +20 -2
- package/dist/utils/rateLimit.js.map +1 -1
- package/dist/utils/requireAdmin.js +8 -0
- package/dist/utils/requireAdmin.js.map +1 -1
- package/dist/utils/smartRouting.js +69 -27
- package/dist/utils/smartRouting.js.map +1 -1
- package/frontend/dist/assets/{ActivityPage-B5DanW8q.js → ActivityPage-DTouw-He.js} +2 -2
- package/frontend/dist/assets/{ActivityPage-B5DanW8q.js.map → ActivityPage-DTouw-He.js.map} +1 -1
- package/frontend/dist/assets/{CopyClientConfigDialog-C6U6_eyy.js → CopyClientConfigDialog-BtO0YcVK.js} +2 -2
- package/frontend/dist/assets/{CopyClientConfigDialog-C6U6_eyy.js.map → CopyClientConfigDialog-BtO0YcVK.js.map} +1 -1
- package/frontend/dist/assets/{CredentialsPage-CXK8Xkao.js → CredentialsPage-BeSMd9m4.js} +2 -2
- package/frontend/dist/assets/{CredentialsPage-CXK8Xkao.js.map → CredentialsPage-BeSMd9m4.js.map} +1 -1
- package/frontend/dist/assets/Dashboard-DuaKaJAK.js +2 -0
- package/frontend/dist/assets/{Dashboard-LIC6BqIA.js.map → Dashboard-DuaKaJAK.js.map} +1 -1
- package/frontend/dist/assets/{EndpointCopy-CeZbEsF2.js → EndpointCopy-Bos3ZWUc.js} +2 -2
- package/frontend/dist/assets/{EndpointCopy-CeZbEsF2.js.map → EndpointCopy-Bos3ZWUc.js.map} +1 -1
- package/frontend/dist/assets/GroupsPage-Cv3lZSCh.js +33 -0
- package/frontend/dist/assets/{GroupsPage-DwVaRIap.js.map → GroupsPage-Cv3lZSCh.js.map} +1 -1
- package/frontend/dist/assets/{LoginPage-CPqSMwWO.js → LoginPage-DUnjHB-q.js} +2 -2
- package/frontend/dist/assets/{LoginPage-CPqSMwWO.js.map → LoginPage-DUnjHB-q.js.map} +1 -1
- package/frontend/dist/assets/{LogsPage-eCHGem9T.js → LogsPage-BxjYh1MS.js} +2 -2
- package/frontend/dist/assets/{LogsPage-eCHGem9T.js.map → LogsPage-BxjYh1MS.js.map} +1 -1
- package/frontend/dist/assets/MarketPage-BnxAofuO.js +2 -0
- package/frontend/dist/assets/MarketPage-BnxAofuO.js.map +1 -0
- package/frontend/dist/assets/{OAuthConsentPage-DJITYpCM.js → OAuthConsentPage-rAx5ELdp.js} +2 -2
- package/frontend/dist/assets/{OAuthConsentPage-DJITYpCM.js.map → OAuthConsentPage-rAx5ELdp.js.map} +1 -1
- package/frontend/dist/assets/{PromptsPage-DQ02iDOJ.js → PromptsPage-Bh4Woe2Q.js} +2 -2
- package/frontend/dist/assets/{PromptsPage-DQ02iDOJ.js.map → PromptsPage-Bh4Woe2Q.js.map} +1 -1
- package/frontend/dist/assets/{ResourcesPage-mUU0DVus.js → ResourcesPage-BREUhWYG.js} +2 -2
- package/frontend/dist/assets/{ResourcesPage-mUU0DVus.js.map → ResourcesPage-BREUhWYG.js.map} +1 -1
- package/frontend/dist/assets/{ServersPage-DsS8j6tl.js → ServersPage-DCqew7Dq.js} +5 -5
- package/frontend/dist/assets/{ServersPage-DsS8j6tl.js.map → ServersPage-DCqew7Dq.js.map} +1 -1
- package/frontend/dist/assets/SettingsPage-DGAB-Jy8.js +12 -0
- package/frontend/dist/assets/SettingsPage-DGAB-Jy8.js.map +1 -0
- package/frontend/dist/assets/{StatusDot-Bcv2BwIL.js → StatusDot-CYPIH-Iz.js} +2 -2
- package/frontend/dist/assets/{StatusDot-Bcv2BwIL.js.map → StatusDot-CYPIH-Iz.js.map} +1 -1
- package/frontend/dist/assets/{ToggleGroup-C_7sDUlr.js → ToggleGroup-B4Lt01jM.js} +2 -2
- package/frontend/dist/assets/{ToggleGroup-C_7sDUlr.js.map → ToggleGroup-B4Lt01jM.js.map} +1 -1
- package/frontend/dist/assets/{UsersPage-ufaG2-Ag.js → UsersPage-LvOfLsJc.js} +2 -2
- package/frontend/dist/assets/{UsersPage-ufaG2-Ag.js.map → UsersPage-LvOfLsJc.js.map} +1 -1
- package/frontend/dist/assets/clipboard--jmjkvaW.js +2 -0
- package/frontend/dist/assets/clipboard--jmjkvaW.js.map +1 -0
- package/frontend/dist/assets/index-Cv7we3z-.css +1 -0
- package/frontend/dist/assets/index-qPkrYLbl.js +3 -0
- package/frontend/dist/assets/index-qPkrYLbl.js.map +1 -0
- package/frontend/dist/assets/{resourceService-CN5cMjQ0.js → resourceService-DkIvmxRC.js} +2 -2
- package/frontend/dist/assets/{resourceService-CN5cMjQ0.js.map → resourceService-DkIvmxRC.js.map} +1 -1
- package/frontend/dist/assets/{useCostData-B9XzWVsV.js → useCostData-B-uPi7i8.js} +2 -2
- package/frontend/dist/assets/{useCostData-B9XzWVsV.js.map → useCostData-B-uPi7i8.js.map} +1 -1
- package/frontend/dist/assets/{variableDetection-Dxw0g2ON.js → variableDetection-RlrBM33Q.js} +2 -2
- package/frontend/dist/assets/{variableDetection-Dxw0g2ON.js.map → variableDetection-RlrBM33Q.js.map} +1 -1
- package/frontend/dist/index.html +3 -6
- package/package.json +12 -3
- package/frontend/dist/assets/Dashboard-LIC6BqIA.js +0 -2
- package/frontend/dist/assets/GroupsPage-DwVaRIap.js +0 -33
- package/frontend/dist/assets/MarketPage-RqD2-rxq.js +0 -3
- package/frontend/dist/assets/MarketPage-RqD2-rxq.js.map +0 -1
- package/frontend/dist/assets/SettingsPage-CIeF1sDE.js +0 -12
- package/frontend/dist/assets/SettingsPage-CIeF1sDE.js.map +0 -1
- package/frontend/dist/assets/clipboard-BukcCPLt.js +0 -2
- package/frontend/dist/assets/clipboard-BukcCPLt.js.map +0 -1
- package/frontend/dist/assets/index-C8aAOWR7.js +0 -3
- package/frontend/dist/assets/index-C8aAOWR7.js.map +0 -1
- package/frontend/dist/assets/index-D4Vy78bV.css +0 -1
- package/frontend/dist/assets/useSettingsData-J_hwKZA6.js +0 -2
- package/frontend/dist/assets/useSettingsData-J_hwKZA6.js.map +0 -1
package/README.fr.md
CHANGED
|
@@ -53,7 +53,7 @@ MCPHub offre une manière unifiée de connecter et de gérer plusieurs serveurs
|
|
|
53
53
|
### Prérequis
|
|
54
54
|
|
|
55
55
|
- **Docker** (recommandé) — le moyen le plus rapide d'exécuter MCPHub ; toutes les commandes ci-dessous l'utilisent
|
|
56
|
-
- **Node.js**
|
|
56
|
+
- **Node.js** `>=20.0.0` et **pnpm** `10.12.4` — uniquement pour exécuter depuis les sources ou développer localement (voir [Développement local](#développement-local))
|
|
57
57
|
|
|
58
58
|
### Démarrer avec Docker
|
|
59
59
|
|
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ It works with MCP clients such as Claude Code, Cursor, Cherry Studio, OpenWebUI,
|
|
|
56
56
|
### Prerequisites
|
|
57
57
|
|
|
58
58
|
- **Docker** (recommended) — the fastest way to run MCPHub; all commands below use it
|
|
59
|
-
- **Node.js**
|
|
59
|
+
- **Node.js** `>=20.0.0` and **pnpm** `10.12.4` — only needed to run from source or develop locally (see [Local Development](#local-development))
|
|
60
60
|
|
|
61
61
|
### Start with Docker
|
|
62
62
|
|
package/README.zh.md
CHANGED
|
@@ -55,7 +55,7 @@ MCPHub 是 AI 客户端与 MCP 服务器之间的统一控制点。一次连接
|
|
|
55
55
|
### 前置条件
|
|
56
56
|
|
|
57
57
|
- **Docker**(推荐)—— 运行 MCPHub 最快的方式,下面的命令都基于它
|
|
58
|
-
- **Node.js**
|
|
58
|
+
- **Node.js** `>=20.0.0` 和 **pnpm** `10.12.4` —— 仅从源码运行或参与本地开发时需要(见[本地开发](#本地开发))
|
|
59
59
|
|
|
60
60
|
### 使用 Docker 启动
|
|
61
61
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Client } from '@modelcontextprotocol/client';
|
|
2
|
+
import { LEGACY_PROTOCOL_VERSIONS } from '../utils/mcpProtocol.js';
|
|
3
|
+
/** Keep v1's single-page discovery and output validation while using SDK v2. */
|
|
4
|
+
export class LegacyMcpClient extends Client {
|
|
5
|
+
constructor(...[info, options]) {
|
|
6
|
+
super(info, {
|
|
7
|
+
...options,
|
|
8
|
+
versionNegotiation: { mode: 'legacy' },
|
|
9
|
+
supportedProtocolVersions: LEGACY_PROTOCOL_VERSIONS,
|
|
10
|
+
enforceStrictCapabilities: true,
|
|
11
|
+
});
|
|
12
|
+
this.listedTools = new Map();
|
|
13
|
+
}
|
|
14
|
+
async listTools(...[params, options]) {
|
|
15
|
+
const result = await this.request({ method: 'tools/list', params }, options);
|
|
16
|
+
this.listedTools.clear();
|
|
17
|
+
for (const tool of result.tools)
|
|
18
|
+
this.listedTools.set(tool.name, tool);
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
listPrompts(...[params, options]) {
|
|
22
|
+
return this.request({ method: 'prompts/list', params }, options);
|
|
23
|
+
}
|
|
24
|
+
listResources(...[params, options]) {
|
|
25
|
+
return this.request({ method: 'resources/list', params }, options);
|
|
26
|
+
}
|
|
27
|
+
listResourceTemplates(...[params, options]) {
|
|
28
|
+
return this.request({ method: 'resources/templates/list', params }, options);
|
|
29
|
+
}
|
|
30
|
+
callTool(...[params, options]) {
|
|
31
|
+
return super.callTool(params, {
|
|
32
|
+
...options,
|
|
33
|
+
toolDefinition: options?.toolDefinition ?? this.listedTools.get(params.name),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=legacyMcpClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacyMcpClient.js","sourceRoot":"","sources":["../../src/clients/legacyMcpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAa,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,gFAAgF;AAChF,MAAM,OAAO,eAAgB,SAAQ,MAAM;IAGzC,YAAY,GAAG,CAAC,IAAI,EAAE,OAAO,CAAuC;QAClE,KAAK,CAAC,IAAI,EAAE;YACV,GAAG,OAAO;YACV,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtC,yBAAyB,EAAE,wBAAwB;YACnD,yBAAyB,EAAE,IAAI;SAChC,CAAC,CAAC;QARY,gBAAW,GAAG,IAAI,GAAG,EAAgB,CAAC;IASvD,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAkC;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7E,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK;YAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAoC;QAC1E,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAEQ,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAsC;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAEQ,qBAAqB,CAC5B,GAAG,CAAC,MAAM,EAAE,OAAO,CAA8C;QAEjE,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAEQ,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAiC;QACpE,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC5B,GAAG,OAAO;YACV,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;SAC7E,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -3,6 +3,7 @@ import path from 'path';
|
|
|
3
3
|
import fs from 'fs';
|
|
4
4
|
import AdmZip from 'adm-zip';
|
|
5
5
|
import { logger } from '../utils/logger.js';
|
|
6
|
+
import { requireAdmin } from '../utils/requireAdmin.js';
|
|
6
7
|
import { validateServerName } from '../utils/serverNameValidation.js';
|
|
7
8
|
// Configure multer for file uploads
|
|
8
9
|
const storage = multer.diskStorage({
|
|
@@ -80,6 +81,13 @@ const cleanupOldMcpbServer = (serverName) => {
|
|
|
80
81
|
};
|
|
81
82
|
export const uploadMcpbFile = async (req, res) => {
|
|
82
83
|
try {
|
|
84
|
+
// Defense in depth: the route already gates this endpoint behind
|
|
85
|
+
// requireAdminMiddleware (before multer stages the body). Re-check here so
|
|
86
|
+
// the handler stays safe even if it is invoked through another path, since
|
|
87
|
+
// it replaces executable code at a deterministic path that existing stdio
|
|
88
|
+
// server configurations point into (GHSA-xf2m-3c3x-53vp).
|
|
89
|
+
if (!(await requireAdmin(req, res)))
|
|
90
|
+
return;
|
|
83
91
|
if (!req.file) {
|
|
84
92
|
res.status(400).json({
|
|
85
93
|
success: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpbController.js","sourceRoot":"","sources":["../../src/controllers/mcpbController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcpbController.js","sourceRoot":"","sources":["../../src/controllers/mcpbController.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* - Exchange the code for tokens using PKCE
|
|
15
15
|
* - Save tokens via our OAuthClientProvider.saveTokens()
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { getServerByOAuthState, getServerByPendingOAuthState, connectClientWithDiagnostics, createTransportFromConfig, updateServerToolsCache, } from '../services/mcpService.js';
|
|
18
18
|
import { replaceEnvVars } from '../config/index.js';
|
|
19
19
|
import { loadServerConfig } from '../services/oauthSettingsStore.js';
|
|
20
20
|
import { validateAuthorizationIss } from '../utils/oauthIssuer.js';
|
|
@@ -104,23 +104,82 @@ const normalizeQueryParam = (value) => {
|
|
|
104
104
|
}
|
|
105
105
|
return undefined;
|
|
106
106
|
};
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
107
|
+
/**
|
|
108
|
+
* OAuth `state` is a server-generated, unguessable, single-use value bound to
|
|
109
|
+
* the in-flight authorization of exactly one server (see
|
|
110
|
+
* MCPHubOAuthProvider.generateState). The callback MUST resolve the target
|
|
111
|
+
* server only by exact match against a stored state — never by decoding the
|
|
112
|
+
* supplied value or falling back to a server name embedded in it
|
|
113
|
+
* (GHSA-vc28-27px-x492).
|
|
114
|
+
*/
|
|
115
|
+
const OAUTH_STATE_TTL_MS = 10 * 60 * 1000; // 10 minutes
|
|
116
|
+
/** States whose authorization has already been completed (single-use). */
|
|
117
|
+
const consumedOAuthStates = new Map(); // state -> consumedAt
|
|
118
|
+
const pruneConsumedOAuthStates = () => {
|
|
119
|
+
const now = Date.now();
|
|
120
|
+
for (const [state, consumedAt] of consumedOAuthStates) {
|
|
121
|
+
if (now - consumedAt > OAUTH_STATE_TTL_MS) {
|
|
122
|
+
consumedOAuthStates.delete(state);
|
|
116
123
|
}
|
|
117
124
|
}
|
|
118
|
-
|
|
119
|
-
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Reset the in-memory OAuth state bookkeeping (the consumed-state set). This is
|
|
128
|
+
* a no-op in production use and exists so test suites start from a clean slate
|
|
129
|
+
* between cases.
|
|
130
|
+
*/
|
|
131
|
+
export const resetOAuthStateTrackingForTests = () => {
|
|
132
|
+
consumedOAuthStates.clear();
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* True when `state` is the current in-flight authorization state of the server.
|
|
136
|
+
* Requires an exact match against the stored state (in-memory or persisted) and
|
|
137
|
+
* rejects states that are stale beyond the TTL.
|
|
138
|
+
*/
|
|
139
|
+
const isOAuthStateCurrent = (serverInfo, state) => {
|
|
140
|
+
const inMemoryState = serverInfo.oauth?.state;
|
|
141
|
+
const pendingState = serverInfo.config?.oauth?.pendingAuthorization?.state;
|
|
142
|
+
const storedStates = [inMemoryState, pendingState].filter((s) => typeof s === 'string');
|
|
143
|
+
// Exact match only. A state that does not equal the server's current
|
|
144
|
+
// in-flight authorization is rejected outright.
|
|
145
|
+
if (storedStates.length === 0 || !storedStates.includes(state)) {
|
|
146
|
+
return false;
|
|
120
147
|
}
|
|
121
|
-
const
|
|
122
|
-
if (
|
|
123
|
-
|
|
148
|
+
const createdAt = serverInfo.config?.oauth?.pendingAuthorization?.createdAt;
|
|
149
|
+
if (createdAt !== undefined && Date.now() - createdAt > OAUTH_STATE_TTL_MS) {
|
|
150
|
+
logger.warn('OAuth callback state expired; rejecting', {
|
|
151
|
+
serverName: serverInfo.name,
|
|
152
|
+
});
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
return true;
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* Resolve the server targeted by an OAuth callback from its `state` parameter.
|
|
159
|
+
*
|
|
160
|
+
* The state must be an unexpired, unconsumed, exact match against a stored
|
|
161
|
+
* server-generated state. There is deliberately no fallback that interprets the
|
|
162
|
+
* state as a server name — an attacker who forges `state` cannot select which
|
|
163
|
+
* server's authorization to drive (GHSA-vc28-27px-x492).
|
|
164
|
+
*/
|
|
165
|
+
const resolveServerByOAuthState = (state) => {
|
|
166
|
+
pruneConsumedOAuthStates();
|
|
167
|
+
if (consumedOAuthStates.has(state)) {
|
|
168
|
+
logger.warn('OAuth callback state already consumed; rejecting', {
|
|
169
|
+
serverName: '<redacted>',
|
|
170
|
+
});
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
// In-memory match: serverInfo.oauth.state is set when redirectToAuthorization
|
|
174
|
+
// ran against a live transport in this process.
|
|
175
|
+
const serverInfo = getServerByOAuthState(state);
|
|
176
|
+
if (serverInfo && isOAuthStateCurrent(serverInfo, state)) {
|
|
177
|
+
return serverInfo;
|
|
178
|
+
}
|
|
179
|
+
// Restart recovery: match against the persisted pendingAuthorization.state.
|
|
180
|
+
const pendingServerInfo = getServerByPendingOAuthState(state);
|
|
181
|
+
if (pendingServerInfo && isOAuthStateCurrent(pendingServerInfo, state)) {
|
|
182
|
+
return pendingServerInfo;
|
|
124
183
|
}
|
|
125
184
|
return undefined;
|
|
126
185
|
};
|
|
@@ -132,7 +191,8 @@ const extractServerNameFromState = (stateValue) => {
|
|
|
132
191
|
*
|
|
133
192
|
* Expected query parameters:
|
|
134
193
|
* - code: Authorization code from OAuth provider
|
|
135
|
-
* - state:
|
|
194
|
+
* - state: Server-generated, unguessable, single-use authorization state bound
|
|
195
|
+
* to the in-flight authorization of exactly one server
|
|
136
196
|
* - error: Optional error code if authorization failed
|
|
137
197
|
* - error_description: Optional error description
|
|
138
198
|
*/
|
|
@@ -175,49 +235,31 @@ export const handleOAuthCallback = async (req, res) => {
|
|
|
175
235
|
.send(generateHtmlResponse(t, 'error', t('oauthCallback.invalidRequest'), t('oauthCallback.missingCodeParameter')));
|
|
176
236
|
}
|
|
177
237
|
logger.log('OAuth callback received', { hasCode: true, state: stateParam });
|
|
178
|
-
// Find server by state parameter
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
238
|
+
// Find the target server by the state parameter. Resolution is exact-match
|
|
239
|
+
// only against a stored, server-generated state; a forged state cannot name
|
|
240
|
+
// a server (GHSA-vc28-27px-x492).
|
|
241
|
+
const serverInfo = resolveServerByOAuthState(stateParam);
|
|
182
242
|
if (!serverInfo) {
|
|
183
|
-
|
|
184
|
-
if (decodedServerName) {
|
|
185
|
-
logger.log('State lookup failed; decoded server name from state', {
|
|
186
|
-
decodedServerName,
|
|
187
|
-
});
|
|
188
|
-
serverInfo = getServerByName(decodedServerName);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
if (!serverInfo) {
|
|
192
|
-
logger.error('No server found for OAuth callback', {
|
|
193
|
-
state: stateParam,
|
|
194
|
-
decodedServerName,
|
|
195
|
-
});
|
|
243
|
+
logger.error('No server found for OAuth callback', { state: stateParam });
|
|
196
244
|
return res
|
|
197
245
|
.status(400)
|
|
198
246
|
.send(generateHtmlResponse(t, 'error', t('oauthCallback.serverNotFound'), `${t('oauthCallback.serverNotFoundMessage')}\n${t('oauthCallback.sessionExpiredMessage')}`));
|
|
199
247
|
}
|
|
200
|
-
// Optional: Validate state parameter for additional security
|
|
201
|
-
if (serverInfo.oauth?.state && serverInfo.oauth.state !== stateParam) {
|
|
202
|
-
logger.warn('OAuth state mismatch detected', {
|
|
203
|
-
serverName: serverInfo.name,
|
|
204
|
-
// State values are considered sensitive and are not logged
|
|
205
|
-
expectedState: '<redacted>',
|
|
206
|
-
receivedState: '<redacted>',
|
|
207
|
-
});
|
|
208
|
-
// Note: We log a warning but don't fail the request since we have server name as primary identifier
|
|
209
|
-
}
|
|
210
248
|
logger.log('Processing OAuth callback for server', { serverName: serverInfo.name });
|
|
211
249
|
// RFC 9207 / SEP-2468: when the authorization response carries `iss`,
|
|
212
250
|
// validate it against the issuer we sent the authorization request to
|
|
213
251
|
// before redeeming the code (mix-up attack mitigation). Legacy servers
|
|
214
|
-
// that omit `iss
|
|
252
|
+
// that do not advertise support may omit `iss`.
|
|
215
253
|
const issParam = normalizeQueryParam(req.query.iss);
|
|
216
254
|
const issResult = validateAuthorizationIss({
|
|
217
255
|
iss: issParam,
|
|
218
256
|
authorizationUrl: serverInfo.oauth?.authorizationUrl ??
|
|
219
257
|
serverInfo.config?.oauth?.pendingAuthorization?.authorizationUrl,
|
|
220
|
-
configuredIssuer: serverInfo.
|
|
258
|
+
configuredIssuer: serverInfo.oauth?.issuer ??
|
|
259
|
+
serverInfo.config?.oauth?.pendingAuthorization?.issuer ??
|
|
260
|
+
serverInfo.config?.oauth?.dynamicRegistration?.issuer,
|
|
261
|
+
issRequired: serverInfo.oauth?.issRequired ??
|
|
262
|
+
serverInfo.config?.oauth?.pendingAuthorization?.issRequired,
|
|
221
263
|
});
|
|
222
264
|
if (!issResult.valid) {
|
|
223
265
|
logger.error('OAuth callback iss validation failed', {
|
|
@@ -240,6 +282,10 @@ export const handleOAuthCallback = async (req, res) => {
|
|
|
240
282
|
logger.log('Calling transport.finishAuth for server', { serverName: serverInfo.name });
|
|
241
283
|
const currentTransport = serverInfo.transport;
|
|
242
284
|
await currentTransport.finishAuth(codeParam);
|
|
285
|
+
// The state has served its purpose: the code was exchanged and the
|
|
286
|
+
// server now holds the resulting tokens. Mark it consumed so a replayed
|
|
287
|
+
// callback with the same state is rejected (single-use, GHSA-vc28-27px-x492).
|
|
288
|
+
consumedOAuthStates.set(stateParam, Date.now());
|
|
243
289
|
logger.log('Successfully exchanged authorization code for tokens', {
|
|
244
290
|
serverName: serverInfo.name,
|
|
245
291
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauthCallbackController.js","sourceRoot":"","sources":["../../src/controllers/oauthCallbackController.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oauthCallbackController.js","sourceRoot":"","sources":["../../src/controllers/oauthCallbackController.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,KAAa,EAAU,EAAE,CAC3C,KAAK;KACF,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;KACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;KACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;KACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;KACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,CAC3B,CAA0B,EAC1B,IAAyB,EACzB,KAAa,EACb,OAAe,EACf,OAA4C,EAC5C,YAAqB,KAAK,EAClB,EAAE;IACV,MAAM,SAAS,GAAG,IAAI,KAAK,SAAS,CAAC;IACrC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAEnC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,yEAAyE;IACzE,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,UAAU,CACjC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,2BAA2B,CAAC,CACtE,CAAC;IACF,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAExE,OAAO;;;;;;iBAMQ,SAAS;;;;;;wJAM8H,aAAa,YAAY,WAAW;;;;;;;;;;;;qCAYvJ,YAAY;;;;;;;UAOvC,SAAS,CAAC,CAAC,CAAC,+DAA+D,CAAC,CAAC,CAAC,EAAE;;;;mCAIvD,IAAI,UAAU,SAAS;YAE9C,OAAO;QACL,CAAC,CAAC,OAAO;aACJ,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,qBAAqB,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CACpJ;aACA,IAAI,CAAC,EAAE,CAAC;QACb,CAAC,CAAC,EACN;YACE,OAAO,CAAC,CAAC,CAAC,sBAAsB,WAAW,MAAM,CAAC,CAAC,CAAC,EAAE;YACtD,SAAS,CAAC,CAAC,CAAC,wBAAwB,eAAe,MAAM,CAAC,CAAC,CAAC,EAAE;+DACX,gBAAgB;;;;GAI5E,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAsB,EAAE;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACtB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAExD,0EAA0E;AAC1E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,sBAAsB;AAE7E,MAAM,wBAAwB,GAAG,GAAS,EAAE;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,mBAAmB,EAAE,CAAC;QACtD,IAAI,GAAG,GAAG,UAAU,GAAG,kBAAkB,EAAE,CAAC;YAC1C,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAS,EAAE;IACxD,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,UAAsB,EAAE,KAAa,EAAW,EAAE;IAC7E,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC;IAC9C,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,CAAC;IAC3E,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,MAAM,CACvD,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAC1C,CAAC;IAEF,qEAAqE;IACrE,gDAAgD;IAChD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,CAAC;IAC5E,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,kBAAkB,EAAE,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;YACrD,UAAU,EAAE,UAAU,CAAC,IAAI;SAC5B,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAA0B,EAAE;IAC1E,wBAAwB,EAAE,CAAC;IAE3B,IAAI,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE;YAC9D,UAAU,EAAE,YAAY;SACzB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8EAA8E;IAC9E,gDAAgD;IAChD,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,UAAU,IAAI,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,4EAA4E;IAC5E,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,iBAAiB,IAAI,mBAAmB,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACvE,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAC5D,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAE9C,iEAAiE;QACjE,MAAM,CAAC,GAAI,GAAW,CAAC,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAEnD,iCAAiC;QACjC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;gBACzC,KAAK;gBACL,gBAAgB,EAAE,iBAAiB,IAAI,EAAE;aAC1C,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CACzB,oBAAoB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,mCAAmC,CAAC,EAAE,EAAE,EAAE;gBAC3E,EAAE,KAAK,EAAE,CAAC,CAAC,wCAAwC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC5E,GAAG,CAAC,iBAAiB;oBACnB,CAAC,CAAC;wBACE;4BACE,KAAK,EAAE,CAAC,CAAC,0CAA0C,CAAC;4BACpD,KAAK,EAAE,MAAM,CAAC,iBAAiB,CAAC;yBACjC;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CACH,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACvD,OAAO,GAAG;iBACP,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CACH,oBAAoB,CAClB,CAAC,EACD,OAAO,EACP,CAAC,CAAC,8BAA8B,CAAC,EACjC,CAAC,CAAC,qCAAqC,CAAC,CACzC,CACF,CAAC;QACN,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC1D,OAAO,GAAG;iBACP,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CACH,oBAAoB,CAClB,CAAC,EACD,OAAO,EACP,CAAC,CAAC,8BAA8B,CAAC,EACjC,CAAC,CAAC,oCAAoC,CAAC,CACxC,CACF,CAAC;QACN,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAE5E,2EAA2E;QAC3E,4EAA4E;QAC5E,kCAAkC;QAClC,MAAM,UAAU,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1E,OAAO,GAAG;iBACP,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CACH,oBAAoB,CAClB,CAAC,EACD,OAAO,EACP,CAAC,CAAC,8BAA8B,CAAC,EACjC,GAAG,CAAC,CAAC,qCAAqC,CAAC,KAAK,CAAC,CAAC,qCAAqC,CAAC,EAAE,CAC3F,CACF,CAAC;QACN,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,sCAAsC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpF,sEAAsE;QACtE,sEAAsE;QACtE,uEAAuE;QACvE,gDAAgD;QAChD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,wBAAwB,CAAC;YACzC,GAAG,EAAE,QAAQ;YACb,gBAAgB,EACd,UAAU,CAAC,KAAK,EAAE,gBAAgB;gBAClC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,gBAAgB;YAClE,gBAAgB,EACd,UAAU,CAAC,KAAK,EAAE,MAAM;gBACxB,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM;gBACtD,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM;YACvD,WAAW,EACT,UAAU,CAAC,KAAK,EAAE,WAAW;gBAC7B,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW;SAC9D,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;gBACnD,UAAU,EAAE,UAAU,CAAC,IAAI;gBAC3B,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,OAAO,GAAG;iBACP,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CACH,oBAAoB,CAClB,CAAC,EACD,OAAO,EACP,CAAC,CAAC,mCAAmC,CAAC,EACtC,SAAS,CAAC,MAAM,CACjB,CACF,CAAC;QACN,CAAC;QACD,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,uEAAuE,EAAE;gBACnF,UAAU,EAAE,UAAU,CAAC,IAAI;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,mFAAmF;QACnF,qEAAqE;QACrE,IAAI,UAAU,CAAC,SAAS,IAAI,YAAY,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACjE,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,CAAC,yCAAyC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvF,MAAM,gBAAgB,GAAG,UAAU,CAAC,SAAgB,CAAC;gBACrD,MAAM,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAE7C,mEAAmE;gBACnE,wEAAwE;gBACxE,8EAA8E;gBAC9E,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAEhD,MAAM,CAAC,GAAG,CAAC,sDAAsD,EAAE;oBACjE,UAAU,EAAE,UAAU,CAAC,IAAI;iBAC5B,CAAC,CAAC;gBAEH,wFAAwF;gBACxF,oFAAoF;gBACpF,qFAAqF;gBACrF,uFAAuF;gBACvF,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC5D,MAAM,eAAe,GAAG,WAAW;oBACjC,CAAC,CAAE,cAAc,CAAC,WAAkB,CAAwB;oBAC5D,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;gBAEtB,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CACb,oCAAoC,UAAU,CAAC,IAAI,uBAAuB,CAC3E,CAAC;gBACJ,CAAC;gBAED,iDAAiD;gBACjD,UAAU,CAAC,MAAM,GAAG,eAAe,CAAC;gBAEpC,sEAAsE;gBACtE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oBACxB,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,IAAI,EAAE,CAAC;oBACpD,UAAU,CAAC,OAAO,GAAG;wBACnB,OAAO,EAAE,aAAa,CAAC,OAAO,IAAI,KAAK;wBACvC,sBAAsB,EAAE,aAAa,CAAC,sBAAsB,IAAI,IAAI;wBACpE,eAAe,EAAE,aAAa,CAAC,eAAe;qBAC/C,CAAC;gBACJ,CAAC;gBAED,sFAAsF;gBACtF,IAAI,CAAC;oBACH,IAAI,UAAU,CAAC,SAAS,IAAI,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;wBAC5D,MAAO,UAAU,CAAC,SAAiB,CAAC,KAAK,EAAE,CAAC;oBAC9C,CAAC;gBACH,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE;wBACvE,UAAU,EAAE,UAAU,CAAC,IAAI;wBAC3B,KAAK,EAAE,UAAU;qBAClB,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,CAAC,GAAG,CAAC,iDAAiD,EAAE;oBAC5D,UAAU,EAAE,UAAU,CAAC,IAAI;iBAC5B,CAAC,CAAC;gBACH,MAAM,kBAAkB,GAAG,MAAM,yBAAyB,CACxD,UAAU,CAAC,IAAI,EACf,eAAe,CAChB,CAAC;gBACF,UAAU,CAAC,SAAS,GAAG,kBAAkB,CAAC;gBAE1C,0EAA0E;gBAC1E,UAAU,CAAC,MAAM,GAAG,YAAY,CAAC;gBACjC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,UAAU,CAAC,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;oBAC9C,UAAU,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;gBACrC,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;oBAChD,MAAM,mBAAmB,GAAG,IAAI,KAAK,CACnC,oBAAoB,UAAU,CAAC,IAAI,8DAA8D,CAClG,CAAC;oBACF,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC;oBACnC,UAAU,CAAC,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC;oBAC/C,MAAM,mBAAmB,CAAC;gBAC5B,CAAC;gBAED,MAAM,CAAC,GAAG,CAAC,4CAA4C,EAAE;oBACvD,UAAU,EAAE,UAAU,CAAC,IAAI;iBAC5B,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC1C,MAAM,kBAAkB,GAAG,UAAU,CAAC,SAAS,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,4BAA4B,CAChC,eAAe,EACf,kBAAkB,EAClB,UAAU,CAAC,OAAO,CACnB,CAAC;gBACJ,CAAC;gBAAC,OAAO,YAAY,EAAE,CAAC;oBACtB,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC;oBACnC,UAAU,CAAC,KAAK,GAAG,2CACjB,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAC5E,EAAE,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE;wBAC3D,UAAU,EAAE,UAAU,CAAC,IAAI;wBAC3B,KAAK,EAAE,YAAY;qBACpB,CAAC,CAAC;oBACH,IAAI,YAAY,YAAY,KAAK,EAAE,CAAC;wBAClC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;4BACzD,UAAU,EAAE,UAAU,CAAC,IAAI;4BAC3B,OAAO,EAAE,YAAY,CAAC,OAAO;4BAC7B,KAAK,EAAE,YAAY,CAAC,KAAK;yBAC1B,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;oBAChC,CAAC;oBAAC,OAAO,gBAAgB,EAAE,CAAC;wBAC1B,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;4BAClE,UAAU,EAAE,UAAU,CAAC,IAAI;4BAC3B,KAAK,EAAE,gBAAgB;yBACxB,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;oBACnC,CAAC;oBAAC,OAAO,mBAAmB,EAAE,CAAC;wBAC7B,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;4BACrE,UAAU,EAAE,UAAU,CAAC,IAAI;4BAC3B,KAAK,EAAE,mBAAmB;yBAC3B,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,UAAU,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;wBAC1C,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;oBAChC,CAAC;oBACD,IAAI,UAAU,CAAC,SAAS,KAAK,kBAAkB,EAAE,CAAC;wBAChD,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;oBACnC,CAAC;oBAED,MAAM,YAAY,CAAC;gBACrB,CAAC;gBAED,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;gBAChC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;gBACxB,MAAM,CAAC,GAAG,CAAC,oDAAoD,EAAE;oBAC/D,UAAU,EAAE,UAAU,CAAC,IAAI;iBAC5B,CAAC,CAAC;gBAEH,2EAA2E;gBAC3E,8DAA8D;gBAC9D,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBAC/D,MAAM,CAAC,GAAG,CAAC,0CAA0C,EAAE;oBACrD,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,YAAY;iBACb,CAAC,CAAC;gBAEH,IAAI,YAAY,EAAE,KAAK,EAAE,CAAC;oBACxB,MAAM,CAAC,GAAG,CAAC,oCAAoC,EAAE;wBAC/C,UAAU,EAAE,UAAU,CAAC,IAAI;qBAC5B,CAAC,CAAC;oBACH,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;wBAC9E,sBAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;wBACtD,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE;4BAC9C,UAAU,EAAE,UAAU,CAAC,IAAI;4BAC3B,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;yBACnC,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,cAAc,EAAE,CAAC;wBACxB,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;4BACxD,UAAU,EAAE,UAAU,CAAC,IAAI;4BAC3B,KAAK,EAAE,cAAc;yBACtB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,+DAA+D,EAAE;wBAC1E,UAAU,EAAE,UAAU,CAAC,IAAI;qBAC5B,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,CAAC,GAAG,CAAC,8CAA8C,EAAE;oBACzD,UAAU,EAAE,UAAU,CAAC,IAAI;iBAC5B,CAAC,CAAC;gBAEH,sBAAsB;gBACtB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CACzB,oBAAoB,CAClB,CAAC,EACD,SAAS,EACT,CAAC,CAAC,uCAAuC,CAAC,EAC1C,CAAC,CAAC,8BAA8B,CAAC,EACjC;oBACE,EAAE,KAAK,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE;oBAC5D,EAAE,KAAK,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,yBAAyB,CAAC,EAAE;iBAC1E,EACD,IAAI,CACL,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;oBACvD,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,KAAK;iBACN,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;oBAC3C,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,SAAS,EAAE,OAAO,KAAK;oBACvB,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI;oBACnC,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBACpE,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB;iBACpE,CAAC,CAAC;gBAEH,OAAO,GAAG;qBACP,MAAM,CAAC,GAAG,CAAC;qBACX,IAAI,CACH,oBAAoB,CAClB,CAAC,EACD,OAAO,EACP,CAAC,CAAC,+BAA+B,CAAC,EAClC,GAAG,CAAC,CAAC,sCAAsC,CAAC,KAAK,CAAC,CAAC,gCAAgC,CAAC,EAAE,EACtF,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAC/E,CACF,CAAC;YACN,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iEAAiE;YACjE,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACvF,OAAO,GAAG;iBACP,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CACH,oBAAoB,CAClB,CAAC,EACD,OAAO,EACP,CAAC,CAAC,kCAAkC,CAAC,EACrC,CAAC,CAAC,yCAAyC,CAAC,CAC7C,CACF,CAAC;QACN,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpE,iEAAiE;QACjE,MAAM,CAAC,GAAI,GAAW,CAAC,CAAC,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAEnD,OAAO,GAAG;aACP,MAAM,CAAC,GAAG,CAAC;aACX,IAAI,CACH,oBAAoB,CAClB,CAAC,EACD,OAAO,EACP,CAAC,CAAC,6BAA6B,CAAC,EAChC,CAAC,CAAC,oCAAoC,CAAC,CACxC,CACF,CAAC;IACN,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -17,7 +17,7 @@ import { isPrivilegedServerConfig } from '../utils/serverConfigValidation.js';
|
|
|
17
17
|
import { validateServerName } from '../utils/serverNameValidation.js';
|
|
18
18
|
import { setCachedSystemConfig } from '../utils/systemConfigCache.js';
|
|
19
19
|
import { DEFAULT_INSTALL_BASE_URL, withResolvedInstallBaseUrl } from '../utils/installBaseUrl.js';
|
|
20
|
-
import { parseBooleanEnvVar } from '../utils/smartRouting.js';
|
|
20
|
+
import { getSmartRoutingConfig, parseBooleanEnvVar } from '../utils/smartRouting.js';
|
|
21
21
|
import { previewOpenApiToolStats } from '../services/openApiToolStatsService.js';
|
|
22
22
|
import { logger } from '../utils/logger.js';
|
|
23
23
|
const getRequestUser = (req) => {
|
|
@@ -296,6 +296,14 @@ export const getAllSettings = async (req, res) => {
|
|
|
296
296
|
systemConfig.smartRouting.dbUrl = dbUrlEnv ? '${DB_URL}' : '';
|
|
297
297
|
}
|
|
298
298
|
}
|
|
299
|
+
// Same idea one level down (issue #642): an env var silently outranks the
|
|
300
|
+
// value the user typed into the dashboard — e.g. a stale OPENAI_API_KEY in
|
|
301
|
+
// .env shadows a freshly pasted valid key, and embeddings fail with 401 while
|
|
302
|
+
// the form happily shows the new key. Reuse getSmartRoutingConfig() so the
|
|
303
|
+
// field→env-var mapping lives in exactly one place instead of being repeated
|
|
304
|
+
// here; this endpoint is admin-only and low-traffic, so the extra DAO read is
|
|
305
|
+
// not worth optimising away.
|
|
306
|
+
const smartRoutingEnvOverriddenFields = (await getSmartRoutingConfig()).envOverriddenFields ?? [];
|
|
299
307
|
if (!systemConfig.toolResultCompression) {
|
|
300
308
|
systemConfig.toolResultCompression = {
|
|
301
309
|
enabled: false,
|
|
@@ -304,7 +312,21 @@ export const getAllSettings = async (req, res) => {
|
|
|
304
312
|
strategy: 'auto',
|
|
305
313
|
};
|
|
306
314
|
}
|
|
307
|
-
const systemConfigForResponse = withResolvedInstallBaseUrl(
|
|
315
|
+
const systemConfigForResponse = withResolvedInstallBaseUrl({
|
|
316
|
+
...systemConfig,
|
|
317
|
+
// Response-only copy: `envOverriddenFields` is display metadata, not part
|
|
318
|
+
// of the persisted schema. The file-backed DAO returns its cached settings
|
|
319
|
+
// object by reference, so attaching the field to systemConfig.smartRouting
|
|
320
|
+
// directly would leak it into mcp_settings.json on the next write.
|
|
321
|
+
...(systemConfig.smartRouting
|
|
322
|
+
? {
|
|
323
|
+
smartRouting: {
|
|
324
|
+
...systemConfig.smartRouting,
|
|
325
|
+
envOverriddenFields: smartRoutingEnvOverriddenFields,
|
|
326
|
+
},
|
|
327
|
+
}
|
|
328
|
+
: {}),
|
|
329
|
+
}, DEFAULT_INSTALL_BASE_URL);
|
|
308
330
|
const settings = {
|
|
309
331
|
users,
|
|
310
332
|
mcpServers,
|
|
@@ -1357,6 +1379,10 @@ export const updateSystemConfig = async (req, res) => {
|
|
|
1357
1379
|
typeof smartRouting.azureOpenaiApiVersion === 'string' ||
|
|
1358
1380
|
typeof smartRouting.azureOpenaiEmbeddingDeployment === 'string' ||
|
|
1359
1381
|
typeof smartRouting.progressiveDisclosure === 'boolean' ||
|
|
1382
|
+
typeof smartRouting.azureOpenaiEmbeddingModel === 'string' ||
|
|
1383
|
+
typeof smartRouting.serverDescriptionMode === 'string' ||
|
|
1384
|
+
typeof smartRouting.embeddingQueryPrefix === 'string' ||
|
|
1385
|
+
typeof smartRouting.embeddingDocumentPrefix === 'string' ||
|
|
1360
1386
|
typeof smartRouting.embeddingMaxTokens === 'number' ||
|
|
1361
1387
|
smartRouting.embeddingMaxTokens === null);
|
|
1362
1388
|
const hasToolResultCompressionUpdate = toolResultCompression &&
|
|
@@ -1673,8 +1699,7 @@ export const updateSystemConfig = async (req, res) => {
|
|
|
1673
1699
|
systemConfig.smartRouting.llmProviderApiKey = smartRouting.llmProviderApiKey?.trim();
|
|
1674
1700
|
}
|
|
1675
1701
|
if (typeof smartRouting.embeddingModel === 'string') {
|
|
1676
|
-
systemConfig.smartRouting.embeddingModel =
|
|
1677
|
-
smartRouting.embeddingModel?.trim();
|
|
1702
|
+
systemConfig.smartRouting.embeddingModel = smartRouting.embeddingModel?.trim();
|
|
1678
1703
|
}
|
|
1679
1704
|
if (typeof smartRouting.azureOpenaiEndpoint === 'string') {
|
|
1680
1705
|
systemConfig.smartRouting.azureOpenaiEndpoint = smartRouting.azureOpenaiEndpoint?.trim();
|
|
@@ -1690,9 +1715,25 @@ export const updateSystemConfig = async (req, res) => {
|
|
|
1690
1715
|
systemConfig.smartRouting.azureOpenaiEmbeddingDeployment =
|
|
1691
1716
|
smartRouting.azureOpenaiEmbeddingDeployment?.trim();
|
|
1692
1717
|
}
|
|
1718
|
+
if (typeof smartRouting.azureOpenaiEmbeddingModel === 'string') {
|
|
1719
|
+
systemConfig.smartRouting.azureOpenaiEmbeddingModel =
|
|
1720
|
+
smartRouting.azureOpenaiEmbeddingModel.trim();
|
|
1721
|
+
}
|
|
1693
1722
|
if (typeof smartRouting.progressiveDisclosure === 'boolean') {
|
|
1694
1723
|
systemConfig.smartRouting.progressiveDisclosure = smartRouting.progressiveDisclosure;
|
|
1695
1724
|
}
|
|
1725
|
+
if (typeof smartRouting.serverDescriptionMode === 'string') {
|
|
1726
|
+
// Same normalization as getSmartRoutingConfig(), so the API and the env var agree
|
|
1727
|
+
const normalized = smartRouting.serverDescriptionMode.trim().toLowerCase();
|
|
1728
|
+
systemConfig.smartRouting.serverDescriptionMode = normalized === 'full' ? 'full' : 'names';
|
|
1729
|
+
}
|
|
1730
|
+
// Stored verbatim, not trimmed: the trailing space is part of a task prefix
|
|
1731
|
+
if (typeof smartRouting.embeddingQueryPrefix === 'string') {
|
|
1732
|
+
systemConfig.smartRouting.embeddingQueryPrefix = smartRouting.embeddingQueryPrefix;
|
|
1733
|
+
}
|
|
1734
|
+
if (typeof smartRouting.embeddingDocumentPrefix === 'string') {
|
|
1735
|
+
systemConfig.smartRouting.embeddingDocumentPrefix = smartRouting.embeddingDocumentPrefix;
|
|
1736
|
+
}
|
|
1696
1737
|
if (typeof smartRouting.embeddingMaxTokens === 'number' &&
|
|
1697
1738
|
!isNaN(smartRouting.embeddingMaxTokens)) {
|
|
1698
1739
|
systemConfig.smartRouting.embeddingMaxTokens = smartRouting.embeddingMaxTokens;
|
|
@@ -1714,9 +1755,9 @@ export const updateSystemConfig = async (req, res) => {
|
|
|
1714
1755
|
systemConfig.smartRouting.embeddingDimensionsApiPassthrough ||
|
|
1715
1756
|
previousSmartRoutingConfig.llmProviderBaseUrl !==
|
|
1716
1757
|
systemConfig.smartRouting.llmProviderBaseUrl ||
|
|
1717
|
-
previousSmartRoutingConfig.llmProviderApiKey !==
|
|
1718
|
-
|
|
1719
|
-
|
|
1758
|
+
previousSmartRoutingConfig.llmProviderApiKey !==
|
|
1759
|
+
systemConfig.smartRouting.llmProviderApiKey ||
|
|
1760
|
+
previousSmartRoutingConfig.embeddingModel !== systemConfig.smartRouting.embeddingModel ||
|
|
1720
1761
|
previousSmartRoutingConfig.azureOpenaiEndpoint !==
|
|
1721
1762
|
systemConfig.smartRouting.azureOpenaiEndpoint ||
|
|
1722
1763
|
previousSmartRoutingConfig.azureOpenaiApiKey !==
|
|
@@ -1725,6 +1766,10 @@ export const updateSystemConfig = async (req, res) => {
|
|
|
1725
1766
|
systemConfig.smartRouting.azureOpenaiApiVersion ||
|
|
1726
1767
|
previousSmartRoutingConfig.azureOpenaiEmbeddingDeployment !==
|
|
1727
1768
|
systemConfig.smartRouting.azureOpenaiEmbeddingDeployment ||
|
|
1769
|
+
previousSmartRoutingConfig.azureOpenaiEmbeddingModel !==
|
|
1770
|
+
systemConfig.smartRouting.azureOpenaiEmbeddingModel ||
|
|
1771
|
+
(previousSmartRoutingConfig.embeddingDocumentPrefix ?? '') !==
|
|
1772
|
+
(systemConfig.smartRouting.embeddingDocumentPrefix ?? '') ||
|
|
1728
1773
|
previousSmartRoutingConfig.embeddingMaxTokens !==
|
|
1729
1774
|
systemConfig.smartRouting.embeddingMaxTokens;
|
|
1730
1775
|
// Sync if: first time enabling OR smart routing is enabled and any config changed
|