@samanhappy/mcphub 0.9.15 → 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.
Files changed (37) hide show
  1. package/README.md +67 -0
  2. package/README.zh.md +65 -0
  3. package/dist/config/index.js +17 -4
  4. package/dist/config/index.js.map +1 -1
  5. package/dist/controllers/authController.js +16 -0
  6. package/dist/controllers/authController.js.map +1 -1
  7. package/dist/controllers/oauthCallbackController.js +276 -0
  8. package/dist/controllers/oauthCallbackController.js.map +1 -0
  9. package/dist/controllers/serverController.js +1 -1
  10. package/dist/controllers/serverController.js.map +1 -1
  11. package/dist/controllers/userController.js +23 -1
  12. package/dist/controllers/userController.js.map +1 -1
  13. package/dist/routes/index.js +3 -0
  14. package/dist/routes/index.js.map +1 -1
  15. package/dist/server.js +10 -0
  16. package/dist/server.js.map +1 -1
  17. package/dist/services/mcpOAuthProvider.js +472 -0
  18. package/dist/services/mcpOAuthProvider.js.map +1 -0
  19. package/dist/services/mcpService.js +328 -199
  20. package/dist/services/mcpService.js.map +1 -1
  21. package/dist/services/oauthClientRegistration.js +444 -0
  22. package/dist/services/oauthClientRegistration.js.map +1 -0
  23. package/dist/services/oauthService.js +216 -0
  24. package/dist/services/oauthService.js.map +1 -0
  25. package/dist/services/oauthSettingsStore.js +106 -0
  26. package/dist/services/oauthSettingsStore.js.map +1 -0
  27. package/dist/utils/passwordValidation.js +38 -0
  28. package/dist/utils/passwordValidation.js.map +1 -0
  29. package/dist/utils/path.js.map +1 -1
  30. package/frontend/dist/assets/index-BP5IZhlg.js +251 -0
  31. package/frontend/dist/assets/index-BP5IZhlg.js.map +1 -0
  32. package/frontend/dist/assets/index-C_58ZhSt.css +1 -0
  33. package/frontend/dist/index.html +2 -2
  34. package/package.json +3 -2
  35. package/frontend/dist/assets/index-BLUhSkL4.js +0 -217
  36. package/frontend/dist/assets/index-BLUhSkL4.js.map +0 -1
  37. package/frontend/dist/assets/index-D8hgHrZ3.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":"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"}
@@ -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"}
@@ -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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"}