@samanhappy/mcphub 0.9.16 → 0.10.0
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.md +67 -0
- package/README.zh.md +65 -0
- package/dist/config/index.js +17 -4
- package/dist/config/index.js.map +1 -1
- package/dist/controllers/authController.js +16 -0
- package/dist/controllers/authController.js.map +1 -1
- package/dist/controllers/oauthCallbackController.js +276 -0
- package/dist/controllers/oauthCallbackController.js.map +1 -0
- package/dist/controllers/serverController.js +1 -1
- package/dist/controllers/serverController.js.map +1 -1
- package/dist/controllers/userController.js +23 -1
- package/dist/controllers/userController.js.map +1 -1
- package/dist/routes/index.js +3 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/server.js +10 -0
- package/dist/server.js.map +1 -1
- package/dist/services/mcpOAuthProvider.js +472 -0
- package/dist/services/mcpOAuthProvider.js.map +1 -0
- package/dist/services/mcpService.js +321 -191
- package/dist/services/mcpService.js.map +1 -1
- package/dist/services/oauthClientRegistration.js +444 -0
- package/dist/services/oauthClientRegistration.js.map +1 -0
- package/dist/services/oauthService.js +216 -0
- package/dist/services/oauthService.js.map +1 -0
- package/dist/services/oauthSettingsStore.js +106 -0
- package/dist/services/oauthSettingsStore.js.map +1 -0
- package/dist/utils/passwordValidation.js +38 -0
- package/dist/utils/passwordValidation.js.map +1 -0
- package/dist/utils/path.js.map +1 -1
- package/frontend/dist/assets/index-BP5IZhlg.js +251 -0
- package/frontend/dist/assets/index-BP5IZhlg.js.map +1 -0
- package/frontend/dist/assets/index-C_58ZhSt.css +1 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +3 -2
- package/frontend/dist/assets/index-DDUK8zl_.js +0 -217
- package/frontend/dist/assets/index-DDUK8zl_.js.map +0 -1
- package/frontend/dist/assets/index-DcVhHcn9.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauthClientRegistration.js","sourceRoot":"","sources":["../../src/services/oauthClientRegistration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { ProxyOAuthServerProvider } from '@modelcontextprotocol/sdk/server/auth/providers/proxyProvider.js';
|
|
2
|
+
import { mcpAuthRouter } from '@modelcontextprotocol/sdk/server/auth/router.js';
|
|
3
|
+
import { loadSettings } from '../config/index.js';
|
|
4
|
+
import { initializeOAuthForServer, refreshAccessToken } from './oauthClientRegistration.js';
|
|
5
|
+
// Re-export for external use
|
|
6
|
+
export { getRegisteredClient, getAuthorizationUrl, exchangeCodeForToken, generateCodeVerifier, calculateCodeChallenge, autoDetectOAuthConfig, parseWWWAuthenticateHeader, fetchProtectedResourceMetadata, } from './oauthClientRegistration.js';
|
|
7
|
+
let oauthProvider = null;
|
|
8
|
+
let oauthRouter = null;
|
|
9
|
+
/**
|
|
10
|
+
* Initialize OAuth provider from system configuration
|
|
11
|
+
*/
|
|
12
|
+
export const initOAuthProvider = () => {
|
|
13
|
+
const settings = loadSettings();
|
|
14
|
+
const oauthConfig = settings.systemConfig?.oauth;
|
|
15
|
+
if (!oauthConfig || !oauthConfig.enabled) {
|
|
16
|
+
console.log('OAuth provider is disabled or not configured');
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
// Create proxy OAuth provider
|
|
21
|
+
oauthProvider = new ProxyOAuthServerProvider({
|
|
22
|
+
endpoints: {
|
|
23
|
+
authorizationUrl: oauthConfig.endpoints.authorizationUrl,
|
|
24
|
+
tokenUrl: oauthConfig.endpoints.tokenUrl,
|
|
25
|
+
revocationUrl: oauthConfig.endpoints.revocationUrl,
|
|
26
|
+
},
|
|
27
|
+
verifyAccessToken: async (token) => {
|
|
28
|
+
// If a verification endpoint is configured, use it
|
|
29
|
+
if (oauthConfig.verifyAccessToken?.endpoint) {
|
|
30
|
+
const response = await fetch(oauthConfig.verifyAccessToken.endpoint, {
|
|
31
|
+
method: 'POST',
|
|
32
|
+
headers: {
|
|
33
|
+
'Content-Type': 'application/json',
|
|
34
|
+
...oauthConfig.verifyAccessToken.headers,
|
|
35
|
+
},
|
|
36
|
+
body: JSON.stringify({ token }),
|
|
37
|
+
});
|
|
38
|
+
if (!response.ok) {
|
|
39
|
+
throw new Error(`Token verification failed: ${response.statusText}`);
|
|
40
|
+
}
|
|
41
|
+
const result = await response.json();
|
|
42
|
+
return {
|
|
43
|
+
token,
|
|
44
|
+
clientId: result.client_id || result.clientId || 'unknown',
|
|
45
|
+
scopes: result.scopes || result.scope?.split(' ') || [],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Default verification - just extract basic info from token
|
|
49
|
+
// In production, you should decode/verify JWT or call an introspection endpoint
|
|
50
|
+
return {
|
|
51
|
+
token,
|
|
52
|
+
clientId: 'default',
|
|
53
|
+
scopes: oauthConfig.scopesSupported || [],
|
|
54
|
+
};
|
|
55
|
+
},
|
|
56
|
+
getClient: async (clientId) => {
|
|
57
|
+
// Find client in configuration
|
|
58
|
+
const client = oauthConfig.clients?.find((c) => c.client_id === clientId);
|
|
59
|
+
if (!client) {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
client_id: client.client_id,
|
|
64
|
+
redirect_uris: client.redirect_uris,
|
|
65
|
+
};
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
// Create OAuth router
|
|
69
|
+
const issuerUrl = new URL(oauthConfig.issuerUrl);
|
|
70
|
+
const baseUrl = oauthConfig.baseUrl ? new URL(oauthConfig.baseUrl) : issuerUrl;
|
|
71
|
+
oauthRouter = mcpAuthRouter({
|
|
72
|
+
provider: oauthProvider,
|
|
73
|
+
issuerUrl,
|
|
74
|
+
baseUrl,
|
|
75
|
+
serviceDocumentationUrl: oauthConfig.serviceDocumentationUrl
|
|
76
|
+
? new URL(oauthConfig.serviceDocumentationUrl)
|
|
77
|
+
: undefined,
|
|
78
|
+
scopesSupported: oauthConfig.scopesSupported,
|
|
79
|
+
});
|
|
80
|
+
console.log('OAuth provider initialized successfully');
|
|
81
|
+
console.log(`OAuth issuer URL: ${issuerUrl.origin}`);
|
|
82
|
+
// Only log endpoint URLs, not full config which might contain sensitive data
|
|
83
|
+
console.log('OAuth endpoints configured: authorization, token' +
|
|
84
|
+
(oauthConfig.endpoints.revocationUrl ? ', revocation' : ''));
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
console.error('Failed to initialize OAuth provider:', error);
|
|
88
|
+
oauthProvider = null;
|
|
89
|
+
oauthRouter = null;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Get the OAuth router if available
|
|
94
|
+
*/
|
|
95
|
+
export const getOAuthRouter = () => {
|
|
96
|
+
return oauthRouter;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Get the OAuth provider if available
|
|
100
|
+
*/
|
|
101
|
+
export const getOAuthProvider = () => {
|
|
102
|
+
return oauthProvider;
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Check if OAuth is enabled
|
|
106
|
+
*/
|
|
107
|
+
export const isOAuthEnabled = () => {
|
|
108
|
+
return oauthProvider !== null && oauthRouter !== null;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Get OAuth access token for a server if configured
|
|
112
|
+
* Handles both static tokens and dynamic OAuth flows with automatic token refresh
|
|
113
|
+
*/
|
|
114
|
+
export const getServerOAuthToken = async (serverName) => {
|
|
115
|
+
const settings = loadSettings();
|
|
116
|
+
const serverConfig = settings.mcpServers[serverName];
|
|
117
|
+
if (!serverConfig?.oauth) {
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
// If a pre-configured access token exists, use it
|
|
121
|
+
if (serverConfig.oauth.accessToken) {
|
|
122
|
+
// TODO: In a production system, check if token is expired and refresh if needed
|
|
123
|
+
// For now, just return the configured token
|
|
124
|
+
return serverConfig.oauth.accessToken;
|
|
125
|
+
}
|
|
126
|
+
// If dynamic registration is enabled, initialize OAuth and get token
|
|
127
|
+
if (serverConfig.oauth.dynamicRegistration?.enabled) {
|
|
128
|
+
try {
|
|
129
|
+
// Initialize OAuth for this server (registers client if needed)
|
|
130
|
+
const clientInfo = await initializeOAuthForServer(serverName, serverConfig);
|
|
131
|
+
if (!clientInfo) {
|
|
132
|
+
console.warn(`Failed to initialize OAuth for server: ${serverName}`);
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
// If we have a refresh token, try to get a new access token
|
|
136
|
+
if (serverConfig.oauth.refreshToken) {
|
|
137
|
+
try {
|
|
138
|
+
const tokens = await refreshAccessToken(serverName, serverConfig, clientInfo, serverConfig.oauth.refreshToken);
|
|
139
|
+
return tokens.accessToken;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
console.error(`Failed to refresh token for server ${serverName}:`, error);
|
|
143
|
+
// Token refresh failed - user needs to re-authorize
|
|
144
|
+
// In a production system, you would trigger a new authorization flow here
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
// No access token and no refresh token available
|
|
149
|
+
// User needs to go through the authorization flow
|
|
150
|
+
// This would typically be triggered by an API endpoint that initiates the OAuth flow
|
|
151
|
+
console.log(`Server ${serverName} requires user authorization via OAuth flow`);
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
console.error(`Failed to get OAuth token for server ${serverName}:`, error);
|
|
156
|
+
return undefined;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Static client configuration - check for existing token
|
|
160
|
+
if (serverConfig.oauth.clientId && serverConfig.oauth.accessToken) {
|
|
161
|
+
return serverConfig.oauth.accessToken;
|
|
162
|
+
}
|
|
163
|
+
return undefined;
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Add OAuth authorization header to request headers if token is available
|
|
167
|
+
*/
|
|
168
|
+
export const addOAuthHeader = async (serverName, headers) => {
|
|
169
|
+
const token = await getServerOAuthToken(serverName);
|
|
170
|
+
if (token) {
|
|
171
|
+
return {
|
|
172
|
+
...headers,
|
|
173
|
+
Authorization: `Bearer ${token}`,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
return headers;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Initialize OAuth for all configured servers with explicit dynamic registration enabled
|
|
180
|
+
* Servers without explicit configuration will be registered on-demand when receiving 401
|
|
181
|
+
* Call this at application startup to pre-register known OAuth servers
|
|
182
|
+
*/
|
|
183
|
+
export const initializeAllOAuthClients = async () => {
|
|
184
|
+
const settings = loadSettings();
|
|
185
|
+
console.log('Initializing OAuth clients for explicitly configured servers...');
|
|
186
|
+
const serverNames = Object.keys(settings.mcpServers);
|
|
187
|
+
const registrationPromises = [];
|
|
188
|
+
for (const serverName of serverNames) {
|
|
189
|
+
const serverConfig = settings.mcpServers[serverName];
|
|
190
|
+
// Only initialize servers with explicitly enabled dynamic registration
|
|
191
|
+
// Others will be auto-detected and registered on first 401 response
|
|
192
|
+
if (serverConfig.oauth?.dynamicRegistration?.enabled === true) {
|
|
193
|
+
registrationPromises.push(initializeOAuthForServer(serverName, serverConfig)
|
|
194
|
+
.then((clientInfo) => {
|
|
195
|
+
if (clientInfo) {
|
|
196
|
+
console.log(`✓ OAuth client pre-registered for server: ${serverName}`);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
console.warn(`✗ Failed to pre-register OAuth client for server: ${serverName}`);
|
|
200
|
+
}
|
|
201
|
+
})
|
|
202
|
+
.catch((error) => {
|
|
203
|
+
console.error(`✗ Error pre-registering OAuth client for server ${serverName}:`, error.message);
|
|
204
|
+
}));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
// Wait for all registrations to complete
|
|
208
|
+
if (registrationPromises.length > 0) {
|
|
209
|
+
await Promise.all(registrationPromises);
|
|
210
|
+
console.log(`OAuth client pre-registration completed for ${registrationPromises.length} server(s)`);
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
console.log('No servers configured for pre-registration (will auto-detect on 401 responses)');
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
//# sourceMappingURL=oauthService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauthService.js","sourceRoot":"","sources":["../../src/services/oauthService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAE5F,6BAA6B;AAC7B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAEtC,IAAI,aAAa,GAAoC,IAAI,CAAC;AAC1D,IAAI,WAAW,GAA0B,IAAI,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAS,EAAE;IAC1C,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC;IAEjD,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,8BAA8B;QAC9B,aAAa,GAAG,IAAI,wBAAwB,CAAC;YAC3C,SAAS,EAAE;gBACT,gBAAgB,EAAE,WAAW,CAAC,SAAS,CAAC,gBAAgB;gBACxD,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,QAAQ;gBACxC,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,aAAa;aACnD;YACD,iBAAiB,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;gBACzC,mDAAmD;gBACnD,IAAI,WAAW,CAAC,iBAAiB,EAAE,QAAQ,EAAE,CAAC;oBAC5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE;wBACnE,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;4BAClC,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO;yBACzC;wBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;qBAChC,CAAC,CAAC;oBAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;oBACvE,CAAC;oBAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACrC,OAAO;wBACL,KAAK;wBACL,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,IAAI,SAAS;wBAC1D,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;qBACxD,CAAC;gBACJ,CAAC;gBAED,4DAA4D;gBAC5D,gFAAgF;gBAChF,OAAO;oBACL,KAAK;oBACL,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,WAAW,CAAC,eAAe,IAAI,EAAE;iBAC1C,CAAC;YACJ,CAAC;YACD,SAAS,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;gBACpC,+BAA+B;gBAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC;gBAE1E,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,OAAO;oBACL,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;iBACpC,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,sBAAsB;QACtB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/E,WAAW,GAAG,aAAa,CAAC;YAC1B,QAAQ,EAAE,aAAa;YACvB,SAAS;YACT,OAAO;YACP,uBAAuB,EAAE,WAAW,CAAC,uBAAuB;gBAC1D,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,uBAAuB,CAAC;gBAC9C,CAAC,CAAC,SAAS;YACb,eAAe,EAAE,WAAW,CAAC,eAAe;SAC7C,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,6EAA6E;QAC7E,OAAO,CAAC,GAAG,CACT,kDAAkD;YAChD,CAAC,WAAW,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAC9D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAC7D,aAAa,GAAG,IAAI,CAAC;QACrB,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAA0B,EAAE;IACxD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAoC,EAAE;IACpE,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE;IAC1C,OAAO,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,CAAC;AACxD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,UAAkB,EAA+B,EAAE;IAC3F,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAErD,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,kDAAkD;IAClD,IAAI,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACnC,gFAAgF;QAChF,4CAA4C;QAC5C,OAAO,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;IACxC,CAAC;IAED,qEAAqE;IACrE,IAAI,YAAY,CAAC,KAAK,CAAC,mBAAmB,EAAE,OAAO,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,gEAAgE;YAChE,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAE5E,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;gBACrE,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,4DAA4D;YAC5D,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,UAAU,EACV,YAAY,EACZ,UAAU,EACV,YAAY,CAAC,KAAK,CAAC,YAAY,CAChC,CAAC;oBACF,OAAO,MAAM,CAAC,WAAW,CAAC;gBAC5B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC1E,oDAAoD;oBACpD,0EAA0E;oBAC1E,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,kDAAkD;YAClD,qFAAqF;YACrF,OAAO,CAAC,GAAG,CAAC,UAAU,UAAU,6CAA6C,CAAC,CAAC;YAC/E,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5E,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAClE,OAAO,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;IACxC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,UAAkB,EAClB,OAA+B,EACE,EAAE;IACnC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAEpD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,GAAG,OAAO;YACV,aAAa,EAAE,UAAU,KAAK,EAAE;SACjC,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,IAAmB,EAAE;IACjE,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAE/E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,oBAAoB,GAAoB,EAAE,CAAC;IAEjD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAErD,uEAAuE;QACvE,oEAAoE;QACpE,IAAI,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAC9D,oBAAoB,CAAC,IAAI,CACvB,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC;iBAC/C,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;gBACnB,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,6CAA6C,UAAU,EAAE,CAAC,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,qDAAqD,UAAU,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,CAAC,KAAK,CACX,mDAAmD,UAAU,GAAG,EAChE,KAAK,CAAC,OAAO,CACd,CAAC;YACJ,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CACT,+CAA+C,oBAAoB,CAAC,MAAM,YAAY,CACvF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAChG,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { loadSettings, saveSettings } from '../config/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Load the latest server configuration from disk.
|
|
4
|
+
*/
|
|
5
|
+
export const loadServerConfig = (serverName) => {
|
|
6
|
+
const settings = loadSettings();
|
|
7
|
+
return settings.mcpServers?.[serverName];
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Mutate OAuth configuration for a server and persist the updated settings.
|
|
11
|
+
* The mutator receives the shared settings object to allow related updates when needed.
|
|
12
|
+
*/
|
|
13
|
+
export const mutateOAuthSettings = async (serverName, mutator) => {
|
|
14
|
+
const settings = loadSettings();
|
|
15
|
+
const serverConfig = settings.mcpServers?.[serverName];
|
|
16
|
+
if (!serverConfig) {
|
|
17
|
+
console.warn(`Server ${serverName} not found while updating OAuth settings`);
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
if (!serverConfig.oauth) {
|
|
21
|
+
serverConfig.oauth = {};
|
|
22
|
+
}
|
|
23
|
+
const context = {
|
|
24
|
+
settings,
|
|
25
|
+
serverConfig,
|
|
26
|
+
oauth: serverConfig.oauth,
|
|
27
|
+
};
|
|
28
|
+
mutator(context);
|
|
29
|
+
const saved = saveSettings(settings);
|
|
30
|
+
if (!saved) {
|
|
31
|
+
throw new Error(`Failed to persist OAuth settings for server ${serverName}`);
|
|
32
|
+
}
|
|
33
|
+
return context.serverConfig;
|
|
34
|
+
};
|
|
35
|
+
export const persistClientCredentials = async (serverName, credentials) => {
|
|
36
|
+
const updated = await mutateOAuthSettings(serverName, ({ oauth }) => {
|
|
37
|
+
oauth.clientId = credentials.clientId;
|
|
38
|
+
oauth.clientSecret = credentials.clientSecret;
|
|
39
|
+
if (credentials.scopes && credentials.scopes.length > 0) {
|
|
40
|
+
oauth.scopes = credentials.scopes;
|
|
41
|
+
}
|
|
42
|
+
if (credentials.authorizationEndpoint) {
|
|
43
|
+
oauth.authorizationEndpoint = credentials.authorizationEndpoint;
|
|
44
|
+
}
|
|
45
|
+
if (credentials.tokenEndpoint) {
|
|
46
|
+
oauth.tokenEndpoint = credentials.tokenEndpoint;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
console.log(`Persisted OAuth client credentials for server: ${serverName}`);
|
|
50
|
+
if (credentials.scopes && credentials.scopes.length > 0) {
|
|
51
|
+
console.log(`Stored OAuth scopes for ${serverName}: ${credentials.scopes.join(', ')}`);
|
|
52
|
+
}
|
|
53
|
+
return updated;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Persist OAuth tokens and optionally replace the stored refresh token.
|
|
57
|
+
*/
|
|
58
|
+
export const persistTokens = async (serverName, tokens) => {
|
|
59
|
+
return mutateOAuthSettings(serverName, ({ oauth }) => {
|
|
60
|
+
oauth.accessToken = tokens.accessToken;
|
|
61
|
+
if (tokens.refreshToken !== undefined) {
|
|
62
|
+
if (tokens.refreshToken) {
|
|
63
|
+
oauth.refreshToken = tokens.refreshToken;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
delete oauth.refreshToken;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (tokens.clearPendingAuthorization && oauth.pendingAuthorization) {
|
|
70
|
+
delete oauth.pendingAuthorization;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Update or create a pending authorization record.
|
|
76
|
+
*/
|
|
77
|
+
export const updatePendingAuthorization = async (serverName, pending) => {
|
|
78
|
+
return mutateOAuthSettings(serverName, ({ oauth }) => {
|
|
79
|
+
oauth.pendingAuthorization = {
|
|
80
|
+
...(oauth.pendingAuthorization || {}),
|
|
81
|
+
...pending,
|
|
82
|
+
createdAt: pending.createdAt ?? Date.now(),
|
|
83
|
+
};
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Clear cached OAuth data using shared helpers.
|
|
88
|
+
*/
|
|
89
|
+
export const clearOAuthData = async (serverName, scope) => {
|
|
90
|
+
return mutateOAuthSettings(serverName, ({ oauth }) => {
|
|
91
|
+
if (scope === 'tokens' || scope === 'all') {
|
|
92
|
+
delete oauth.accessToken;
|
|
93
|
+
delete oauth.refreshToken;
|
|
94
|
+
}
|
|
95
|
+
if (scope === 'client' || scope === 'all') {
|
|
96
|
+
delete oauth.clientId;
|
|
97
|
+
delete oauth.clientSecret;
|
|
98
|
+
}
|
|
99
|
+
if (scope === 'verifier' || scope === 'all') {
|
|
100
|
+
if (oauth.pendingAuthorization) {
|
|
101
|
+
delete oauth.pendingAuthorization;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=oauthSettingsStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauthSettingsStore.js","sourceRoot":"","sources":["../../src/services/oauthSettingsStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Password strength validation utility
|
|
3
|
+
* Requirements:
|
|
4
|
+
* - At least 8 characters
|
|
5
|
+
* - Contains at least one letter
|
|
6
|
+
* - Contains at least one number
|
|
7
|
+
* - Contains at least one special character
|
|
8
|
+
*/
|
|
9
|
+
export const validatePasswordStrength = (password) => {
|
|
10
|
+
const errors = [];
|
|
11
|
+
// Check minimum length
|
|
12
|
+
if (password.length < 8) {
|
|
13
|
+
errors.push('Password must be at least 8 characters long');
|
|
14
|
+
}
|
|
15
|
+
// Check for at least one letter
|
|
16
|
+
if (!/[a-zA-Z]/.test(password)) {
|
|
17
|
+
errors.push('Password must contain at least one letter');
|
|
18
|
+
}
|
|
19
|
+
// Check for at least one number
|
|
20
|
+
if (!/\d/.test(password)) {
|
|
21
|
+
errors.push('Password must contain at least one number');
|
|
22
|
+
}
|
|
23
|
+
// Check for at least one special character
|
|
24
|
+
if (!/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/.test(password)) {
|
|
25
|
+
errors.push('Password must contain at least one special character');
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
isValid: errors.length === 0,
|
|
29
|
+
errors,
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Check if a password is the default password (admin123)
|
|
34
|
+
*/
|
|
35
|
+
export const isDefaultPassword = (plainPassword) => {
|
|
36
|
+
return plainPassword === 'admin123';
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=passwordValidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passwordValidation.js","sourceRoot":"","sources":["../../src/utils/passwordValidation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAAgB,EAA4B,EAAE;IACrF,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,uBAAuB;IACvB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IAED,gCAAgC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAED,gCAAgC;IAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAED,2CAA2C;IAC3C,IAAI,CAAC,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,aAAqB,EAAW,EAAE;IAClE,OAAO,aAAa,KAAK,UAAU,CAAC;AACtC,CAAC,CAAC"}
|
package/dist/utils/path.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":"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"}
|