@1mcp/agent 0.13.0 → 0.13.1
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/build/auth/sdkOAuthClientProvider.d.ts +1 -1
- package/build/auth/sdkOAuthClientProvider.d.ts.map +1 -1
- package/build/auth/sdkOAuthClientProvider.js +11 -6
- package/build/auth/sdkOAuthClientProvider.js.map +1 -1
- package/build/auth/sdkOAuthServerProvider.d.ts +4 -3
- package/build/auth/sdkOAuthServerProvider.d.ts.map +1 -1
- package/build/auth/sdkOAuthServerProvider.js +41 -110
- package/build/auth/sdkOAuthServerProvider.js.map +1 -1
- package/build/auth/sessionTypes.d.ts +24 -10
- package/build/auth/sessionTypes.d.ts.map +1 -1
- package/build/auth/storage/authCodeRepository.d.ts +25 -0
- package/build/auth/storage/authCodeRepository.d.ts.map +1 -0
- package/build/auth/storage/authCodeRepository.js +50 -0
- package/build/auth/storage/authCodeRepository.js.map +1 -0
- package/build/auth/storage/authRequestRepository.d.ts +25 -0
- package/build/auth/storage/authRequestRepository.d.ts.map +1 -0
- package/build/auth/storage/authRequestRepository.js +51 -0
- package/build/auth/storage/authRequestRepository.js.map +1 -0
- package/build/auth/storage/clientDataRepository.d.ts +25 -0
- package/build/auth/storage/clientDataRepository.d.ts.map +1 -0
- package/build/auth/storage/clientDataRepository.js +45 -0
- package/build/auth/storage/clientDataRepository.js.map +1 -0
- package/build/auth/storage/clientSessionRepository.d.ts +77 -0
- package/build/auth/storage/clientSessionRepository.d.ts.map +1 -0
- package/build/auth/storage/clientSessionRepository.js +120 -0
- package/build/auth/storage/clientSessionRepository.js.map +1 -0
- package/build/auth/storage/fileStorageService.d.ts +68 -0
- package/build/auth/storage/fileStorageService.d.ts.map +1 -0
- package/build/auth/storage/fileStorageService.js +262 -0
- package/build/auth/storage/fileStorageService.js.map +1 -0
- package/build/auth/storage/oauthStorageService.d.ts +57 -0
- package/build/auth/storage/oauthStorageService.d.ts.map +1 -0
- package/build/auth/storage/oauthStorageService.js +131 -0
- package/build/auth/storage/oauthStorageService.js.map +1 -0
- package/build/auth/storage/sessionRepository.d.ts +29 -0
- package/build/auth/storage/sessionRepository.d.ts.map +1 -0
- package/build/auth/storage/sessionRepository.js +64 -0
- package/build/auth/storage/sessionRepository.js.map +1 -0
- package/build/constants.d.ts +26 -11
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +32 -11
- package/build/constants.js.map +1 -1
- package/build/core/server/agentConfig.js +2 -2
- package/build/core/server/agentConfig.js.map +1 -1
- package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts +4 -7
- package/build/transport/http/middlewares/scopeAuthMiddleware.d.ts.map +1 -1
- package/build/transport/http/middlewares/scopeAuthMiddleware.js +5 -12
- package/build/transport/http/middlewares/scopeAuthMiddleware.js.map +1 -1
- package/build/transport/http/routes/oauthRoutes.d.ts +6 -2
- package/build/transport/http/routes/oauthRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/oauthRoutes.js +331 -335
- package/build/transport/http/routes/oauthRoutes.js.map +1 -1
- package/build/transport/http/routes/sseRoutes.d.ts +2 -1
- package/build/transport/http/routes/sseRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/sseRoutes.js +3 -2
- package/build/transport/http/routes/sseRoutes.js.map +1 -1
- package/build/transport/http/routes/streamableHttpRoutes.d.ts +2 -1
- package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/streamableHttpRoutes.js +3 -2
- package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
- package/build/transport/http/server.js +4 -4
- package/build/transport/http/server.js.map +1 -1
- package/build/utils/clientFiltering.d.ts.map +1 -1
- package/build/utils/clientFiltering.js +40 -5
- package/build/utils/clientFiltering.js.map +1 -1
- package/package.json +1 -1
- package/build/auth/clientSessionManager.d.ts +0 -94
- package/build/auth/clientSessionManager.d.ts.map +0 -1
- package/build/auth/clientSessionManager.js +0 -220
- package/build/auth/clientSessionManager.js.map +0 -1
- package/build/auth/serverSessionManager.d.ts +0 -185
- package/build/auth/serverSessionManager.d.ts.map +0 -1
- package/build/auth/serverSessionManager.js +0 -461
- package/build/auth/serverSessionManager.js.map +0 -1
|
@@ -22,7 +22,7 @@ export declare class SDKOAuthClientProvider implements OAuthClientProvider {
|
|
|
22
22
|
private _tokens?;
|
|
23
23
|
private _codeVerifier?;
|
|
24
24
|
private _state?;
|
|
25
|
-
private
|
|
25
|
+
private sessionRepository;
|
|
26
26
|
private serverName;
|
|
27
27
|
private config;
|
|
28
28
|
private _authorizationUrl?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkOAuthClientProvider.d.ts","sourceRoot":"","sources":["../../src/auth/sdkOAuthClientProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,WAAW,EACZ,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"sdkOAuthClientProvider.d.ts","sourceRoot":"","sources":["../../src/auth/sdkOAuthClientProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,WAAW,EACZ,MAAM,0CAA0C,CAAC;AAQlD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IAChE,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,WAAW,CAAC,CAA6B;IACjD,OAAO,CAAC,OAAO,CAAC,CAAc;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,iBAAiB,CAAC,CAAS;gBAEvB,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,EAAE,MAAM;IAyBtF,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,cAAc,IAAI,mBAAmB,CAExC;IAED;;OAEG;IACH,iBAAiB,IAAI,0BAA0B,GAAG,SAAS;IAI3D;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,0BAA0B,GAAG,IAAI;IAMnE;;OAEG;IACH,MAAM,IAAI,WAAW,GAAG,SAAS;IAIjC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAMrC;;OAEG;IACH,uBAAuB,CAAC,gBAAgB,EAAE,GAAG,GAAG,IAAI;IAIpD;;OAEG;IACH,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAIzC;;OAEG;IACH,qBAAqB,IAAI,IAAI;IAI7B;;OAEG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAK5C;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxC;;OAEG;IACH,KAAK,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQjC;;OAEG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAS/F;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAwBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,QAAQ,IAAI,IAAI;CAMjB"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import logger from '../logger/logger.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { ClientSessionRepository } from './storage/clientSessionRepository.js';
|
|
4
|
+
import { FileStorageService } from './storage/fileStorageService.js';
|
|
5
|
+
import { AUTH_CONFIG, getGlobalConfigDir } from '../constants.js';
|
|
6
|
+
import path from 'path';
|
|
5
7
|
/**
|
|
6
8
|
* SDK-compatible OAuth client provider that replaces the custom implementation.
|
|
7
9
|
*
|
|
@@ -15,14 +17,17 @@ export class SDKOAuthClientProvider {
|
|
|
15
17
|
_tokens;
|
|
16
18
|
_codeVerifier;
|
|
17
19
|
_state;
|
|
18
|
-
|
|
20
|
+
sessionRepository;
|
|
19
21
|
serverName;
|
|
20
22
|
config;
|
|
21
23
|
_authorizationUrl;
|
|
22
24
|
constructor(serverName, config, sessionStoragePath) {
|
|
23
25
|
this.serverName = serverName;
|
|
24
26
|
this.config = config;
|
|
25
|
-
|
|
27
|
+
// Create FileStorageService and ClientSessionRepository
|
|
28
|
+
const storagePath = sessionStoragePath || path.join(getGlobalConfigDir(), 'clientSessions');
|
|
29
|
+
const fileStorage = new FileStorageService(storagePath);
|
|
30
|
+
this.sessionRepository = new ClientSessionRepository(fileStorage);
|
|
26
31
|
// Set up client metadata for registration with better defaults
|
|
27
32
|
this._clientMetadata = {
|
|
28
33
|
client_name: `1MCP Agent - ${serverName}`,
|
|
@@ -126,7 +131,7 @@ export class SDKOAuthClientProvider {
|
|
|
126
131
|
* Load persisted OAuth data from unified client session storage
|
|
127
132
|
*/
|
|
128
133
|
loadPersistedData() {
|
|
129
|
-
const clientSession = this.
|
|
134
|
+
const clientSession = this.sessionRepository.get(this.serverName);
|
|
130
135
|
if (clientSession) {
|
|
131
136
|
// Load client info
|
|
132
137
|
if (clientSession.clientInfo) {
|
|
@@ -173,7 +178,7 @@ export class SDKOAuthClientProvider {
|
|
|
173
178
|
expires: Date.now() + maxTtl,
|
|
174
179
|
createdAt: Date.now(),
|
|
175
180
|
};
|
|
176
|
-
this.
|
|
181
|
+
this.sessionRepository.save(this.serverName, clientSessionData, maxTtl);
|
|
177
182
|
}
|
|
178
183
|
/**
|
|
179
184
|
* Check if OAuth tokens are expired
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkOAuthClientProvider.js","sourceRoot":"","sources":["../../src/auth/sdkOAuthClientProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sdkOAuthClientProvider.js","sourceRoot":"","sources":["../../src/auth/sdkOAuthClientProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,15 @@ import type { OAuthServerProvider, AuthorizationParams } from '@modelcontextprot
|
|
|
3
3
|
import type { OAuthRegisteredClientsStore } from '@modelcontextprotocol/sdk/server/auth/clients.js';
|
|
4
4
|
import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
|
|
5
5
|
import type { OAuthClientInformationFull, OAuthTokens, OAuthTokenRevocationRequest } from '@modelcontextprotocol/sdk/shared/auth.js';
|
|
6
|
+
import { OAuthStorageService } from './storage/oauthStorageService.js';
|
|
6
7
|
/**
|
|
7
|
-
* Implementation of SDK's OAuthServerProvider interface using
|
|
8
|
+
* Implementation of SDK's OAuthServerProvider interface using the new repository architecture.
|
|
8
9
|
*
|
|
9
10
|
* This provider implements OAuth 2.1 server functionality using the MCP SDK's interfaces
|
|
10
|
-
*
|
|
11
|
+
* with the new layered storage architecture for better separation of concerns.
|
|
11
12
|
*/
|
|
12
13
|
export declare class SDKOAuthServerProvider implements OAuthServerProvider {
|
|
13
|
-
|
|
14
|
+
oauthStorage: OAuthStorageService;
|
|
14
15
|
private configManager;
|
|
15
16
|
private _clientsStore;
|
|
16
17
|
constructor(sessionStoragePath?: string);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkOAuthServerProvider.d.ts","sourceRoot":"","sources":["../../src/auth/sdkOAuthServerProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAClH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EACV,0BAA0B,EAC1B,WAAW,EACX,2BAA2B,EAC5B,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"sdkOAuthServerProvider.d.ts","sourceRoot":"","sources":["../../src/auth/sdkOAuthServerProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAClH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EACV,0BAA0B,EAC1B,WAAW,EACX,2BAA2B,EAC5B,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAoDvE;;;;;GAKG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IACzD,YAAY,EAAE,mBAAmB,CAAC;IACzC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,aAAa,CAA8B;gBAEvC,kBAAkB,CAAC,EAAE,MAAM;IAMvC,IAAI,YAAY,IAAI,2BAA2B,CAE9C;IAED;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkD9G;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;YACW,iBAAiB;IA0B/B;;OAEG;IACU,oBAAoB,CAC/B,MAAM,EAAE,0BAA0B,EAClC,MAAM,EAAE,mBAAmB,EAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,IAAI,CAAC;IAoChB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAoF/B;;OAEG;IACG,6BAA6B,CAAC,MAAM,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWnH;;OAEG;IACG,yBAAyB,CAC7B,MAAM,EAAE,0BAA0B,EAClC,iBAAiB,EAAE,MAAM,EAGzB,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC,WAAW,CAAC;IA6DvB;;OAEG;IACG,oBAAoB,CACxB,OAAO,EAAE,0BAA0B,EACnC,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,MAAM,EAAE,EAClB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,WAAW,CAAC;IAIvB;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoCzD;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1G;;OAEG;IACH,QAAQ,IAAI,IAAI;CAGjB"}
|
|
@@ -1,38 +1,35 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import logger from '../logger/logger.js';
|
|
3
|
-
import {
|
|
3
|
+
import { OAuthStorageService } from './storage/oauthStorageService.js';
|
|
4
4
|
import { AgentConfigManager } from '../core/server/agentConfig.js';
|
|
5
5
|
import { AUTH_CONFIG } from '../constants.js';
|
|
6
6
|
import { validateScopesAgainstAvailableTags, tagsToScopes, scopesToTags, auditScopeOperation, } from '../utils/scopeValidation.js';
|
|
7
7
|
import { McpConfigManager } from '../config/mcpConfigManager.js';
|
|
8
8
|
/**
|
|
9
|
-
* File-based OAuth clients store implementation using
|
|
9
|
+
* File-based OAuth clients store implementation using the new repository architecture
|
|
10
10
|
*/
|
|
11
11
|
class FileBasedClientsStore {
|
|
12
|
-
|
|
13
|
-
constructor(
|
|
14
|
-
this.
|
|
12
|
+
oauthStorage;
|
|
13
|
+
constructor(oauthStorage) {
|
|
14
|
+
this.oauthStorage = oauthStorage;
|
|
15
|
+
}
|
|
16
|
+
getClientKey(clientId) {
|
|
17
|
+
return `${AUTH_CONFIG.CLIENT.PREFIXES.CLIENT}${clientId}`;
|
|
15
18
|
}
|
|
16
19
|
getClient(clientId) {
|
|
17
20
|
const clientKey = this.getClientKey(clientId);
|
|
18
|
-
const
|
|
19
|
-
if (!
|
|
20
|
-
return undefined;
|
|
21
|
-
}
|
|
22
|
-
try {
|
|
23
|
-
return JSON.parse(clientSession.data);
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
logger.error(`Failed to parse client data for ${clientId}:`, error);
|
|
21
|
+
const clientData = this.oauthStorage.clientDataRepository.get(clientKey);
|
|
22
|
+
if (!clientData) {
|
|
27
23
|
return undefined;
|
|
28
24
|
}
|
|
25
|
+
return clientData;
|
|
29
26
|
}
|
|
30
27
|
registerClient(client) {
|
|
31
28
|
const clientKey = this.getClientKey(client.client_id);
|
|
32
29
|
// Store client for 30 days (same as original implementation)
|
|
33
30
|
const ttlMs = AUTH_CONFIG.CLIENT.OAUTH.TTL_MS;
|
|
34
31
|
try {
|
|
35
|
-
this.
|
|
32
|
+
this.oauthStorage.clientDataRepository.save(clientKey, client, ttlMs);
|
|
36
33
|
logger.info(`Registered OAuth client: ${client.client_id}`);
|
|
37
34
|
return client;
|
|
38
35
|
}
|
|
@@ -41,52 +38,21 @@ class FileBasedClientsStore {
|
|
|
41
38
|
throw error;
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
|
-
getClientKey(clientId) {
|
|
45
|
-
// Create a deterministic UUID-like key from the client ID for consistent retrieval
|
|
46
|
-
// We need to ensure this passes the session ID validation which expects sess- + UUID format
|
|
47
|
-
const hashInput = `${AUTH_CONFIG.CLIENT.PREFIXES.CLIENT}${clientId}`;
|
|
48
|
-
// Generate a deterministic UUID-like string using a simple hash
|
|
49
|
-
const hash = this.hashToUuid(hashInput);
|
|
50
|
-
return `sess-${hash}`;
|
|
51
|
-
}
|
|
52
|
-
hashToUuid(input) {
|
|
53
|
-
// Simple hash to UUID conversion (not cryptographically secure, but deterministic)
|
|
54
|
-
// Validate input is actually a string to prevent DoS attacks
|
|
55
|
-
if (typeof input !== 'string') {
|
|
56
|
-
throw new Error('Input must be a string');
|
|
57
|
-
}
|
|
58
|
-
// Limit input length to prevent DoS attacks
|
|
59
|
-
const maxLength = 1000;
|
|
60
|
-
// Use Math.min to ensure we never exceed maxLength, even if length property is malicious
|
|
61
|
-
const actualLength = Math.min(input.length, maxLength);
|
|
62
|
-
const safeInput = input.substring(0, actualLength);
|
|
63
|
-
let hash = 0;
|
|
64
|
-
// Use actualLength instead of safeInput.length to avoid potential issues
|
|
65
|
-
for (let i = 0; i < actualLength; i++) {
|
|
66
|
-
const char = safeInput.charCodeAt(i);
|
|
67
|
-
hash = (hash << 5) - hash + char;
|
|
68
|
-
hash = hash & hash; // Convert to 32-bit integer
|
|
69
|
-
}
|
|
70
|
-
// Convert hash to a UUID-like format
|
|
71
|
-
const hashStr = Math.abs(hash).toString(16).padStart(8, '0');
|
|
72
|
-
const uuid = `${hashStr.slice(0, 8)}-${hashStr.slice(0, 4)}-4${hashStr.slice(1, 4)}-8${hashStr.slice(4, 7)}-${hashStr.repeat(3).slice(0, 12)}`;
|
|
73
|
-
return uuid;
|
|
74
|
-
}
|
|
75
41
|
}
|
|
76
42
|
/**
|
|
77
|
-
* Implementation of SDK's OAuthServerProvider interface using
|
|
43
|
+
* Implementation of SDK's OAuthServerProvider interface using the new repository architecture.
|
|
78
44
|
*
|
|
79
45
|
* This provider implements OAuth 2.1 server functionality using the MCP SDK's interfaces
|
|
80
|
-
*
|
|
46
|
+
* with the new layered storage architecture for better separation of concerns.
|
|
81
47
|
*/
|
|
82
48
|
export class SDKOAuthServerProvider {
|
|
83
|
-
|
|
49
|
+
oauthStorage;
|
|
84
50
|
configManager;
|
|
85
51
|
_clientsStore;
|
|
86
52
|
constructor(sessionStoragePath) {
|
|
87
|
-
this.
|
|
53
|
+
this.oauthStorage = new OAuthStorageService(sessionStoragePath);
|
|
88
54
|
this.configManager = AgentConfigManager.getInstance();
|
|
89
|
-
this._clientsStore = new FileBasedClientsStore(this.
|
|
55
|
+
this._clientsStore = new FileBasedClientsStore(this.oauthStorage);
|
|
90
56
|
}
|
|
91
57
|
get clientsStore() {
|
|
92
58
|
return this._clientsStore;
|
|
@@ -151,8 +117,10 @@ export class SDKOAuthServerProvider {
|
|
|
151
117
|
* Renders the consent page for scope selection
|
|
152
118
|
*/
|
|
153
119
|
async renderConsentPage(client, params, requestedScopes, availableTags, res) {
|
|
120
|
+
// Create temporary authorization request to store the code challenge securely
|
|
121
|
+
const authRequestId = this.oauthStorage.createAuthorizationRequest(client.client_id, params.redirectUri, params.codeChallenge, params.state, params.resource?.toString(), requestedScopes);
|
|
154
122
|
const scopeTags = scopesToTags(requestedScopes);
|
|
155
|
-
const consentPageHtml = this.generateConsentPageHtml(client,
|
|
123
|
+
const consentPageHtml = this.generateConsentPageHtml(client, authRequestId, scopeTags, availableTags);
|
|
156
124
|
// Remove any CSP that might interfere with form submission
|
|
157
125
|
res.removeHeader('Content-Security-Policy');
|
|
158
126
|
res.set('Content-Type', 'text/html');
|
|
@@ -164,14 +132,8 @@ export class SDKOAuthServerProvider {
|
|
|
164
132
|
async approveAuthorization(client, params, grantedScopes, res) {
|
|
165
133
|
logger.debug('Approving authorization', { clientId: client.client_id, params, grantedScopes });
|
|
166
134
|
// Create authorization code with granted scopes
|
|
167
|
-
const metadata = {
|
|
168
|
-
scopes: grantedScopes,
|
|
169
|
-
resource: params.resource?.toString() || '',
|
|
170
|
-
codeChallenge: params.codeChallenge,
|
|
171
|
-
redirectUri: params.redirectUri,
|
|
172
|
-
};
|
|
173
135
|
const ttlMs = this.configManager.getOAuthCodeTtlMs();
|
|
174
|
-
const code = this.
|
|
136
|
+
const code = this.oauthStorage.authCodeRepository.create(client.client_id, params.redirectUri, params.resource?.toString() || '', grantedScopes, ttlMs, params.codeChallenge);
|
|
175
137
|
// Build redirect URL
|
|
176
138
|
const redirectUrl = new URL(params.redirectUri);
|
|
177
139
|
redirectUrl.searchParams.set('code', code);
|
|
@@ -194,7 +156,7 @@ export class SDKOAuthServerProvider {
|
|
|
194
156
|
/**
|
|
195
157
|
* Generates the HTML for the consent page
|
|
196
158
|
*/
|
|
197
|
-
generateConsentPageHtml(client,
|
|
159
|
+
generateConsentPageHtml(client, authRequestId, requestedTags, availableTags) {
|
|
198
160
|
const clientName = client.client_name || client.client_id;
|
|
199
161
|
return `
|
|
200
162
|
<!DOCTYPE html>
|
|
@@ -234,12 +196,7 @@ export class SDKOAuthServerProvider {
|
|
|
234
196
|
</div>
|
|
235
197
|
|
|
236
198
|
<form method="POST" action="/oauth/consent">
|
|
237
|
-
<input type="hidden" name="
|
|
238
|
-
<input type="hidden" name="redirect_uri" value="${params.redirectUri}">
|
|
239
|
-
<input type="hidden" name="code_challenge" value="${params.codeChallenge || ''}">
|
|
240
|
-
<input type="hidden" name="code_challenge_method" value="S256">
|
|
241
|
-
<input type="hidden" name="state" value="${params.state || ''}">
|
|
242
|
-
<input type="hidden" name="resource" value="${params.resource?.toString() || ''}">
|
|
199
|
+
<input type="hidden" name="auth_request_id" value="${authRequestId}">
|
|
243
200
|
|
|
244
201
|
<div class="scopes-section">
|
|
245
202
|
<h3>Server Access Permissions</h3>
|
|
@@ -279,17 +236,11 @@ export class SDKOAuthServerProvider {
|
|
|
279
236
|
*/
|
|
280
237
|
async challengeForAuthorizationCode(client, authorizationCode) {
|
|
281
238
|
logger.debug('Challenge for authorization code', { clientId: client.client_id, authorizationCode });
|
|
282
|
-
const codeData = this.
|
|
239
|
+
const codeData = this.oauthStorage.authCodeRepository.get(authorizationCode);
|
|
283
240
|
if (!codeData || codeData.clientId !== client.client_id) {
|
|
284
241
|
throw new Error('Invalid authorization code');
|
|
285
242
|
}
|
|
286
|
-
|
|
287
|
-
const metadata = JSON.parse(codeData.resource);
|
|
288
|
-
return metadata.codeChallenge || '';
|
|
289
|
-
}
|
|
290
|
-
catch (_e) {
|
|
291
|
-
return '';
|
|
292
|
-
}
|
|
243
|
+
return codeData.codeChallenge || '';
|
|
293
244
|
}
|
|
294
245
|
/**
|
|
295
246
|
* Exchanges authorization code for access token
|
|
@@ -304,7 +255,7 @@ export class SDKOAuthServerProvider {
|
|
|
304
255
|
redirectUri,
|
|
305
256
|
resource,
|
|
306
257
|
});
|
|
307
|
-
const codeData = this.
|
|
258
|
+
const codeData = this.oauthStorage.authCodeRepository.get(authorizationCode);
|
|
308
259
|
if (!codeData) {
|
|
309
260
|
throw new Error('Invalid or expired authorization code');
|
|
310
261
|
}
|
|
@@ -316,32 +267,23 @@ export class SDKOAuthServerProvider {
|
|
|
316
267
|
if (redirectUri && codeData.redirectUri !== redirectUri) {
|
|
317
268
|
throw new Error('Redirect URI mismatch');
|
|
318
269
|
}
|
|
319
|
-
// Parse metadata to check PKCE and other parameters
|
|
320
|
-
let metadata = {};
|
|
321
|
-
try {
|
|
322
|
-
metadata = JSON.parse(codeData.resource);
|
|
323
|
-
}
|
|
324
|
-
catch (_e) {
|
|
325
|
-
// Legacy format, treat as plain resource string
|
|
326
|
-
metadata = { resource: codeData.resource };
|
|
327
|
-
}
|
|
328
270
|
// Validate resource if provided
|
|
329
|
-
if (resource &&
|
|
271
|
+
if (resource && codeData.resource && codeData.resource !== resource.toString()) {
|
|
330
272
|
throw new Error('Resource mismatch');
|
|
331
273
|
}
|
|
332
274
|
// Delete the authorization code (one-time use)
|
|
333
|
-
this.
|
|
275
|
+
this.oauthStorage.authCodeRepository.delete(authorizationCode);
|
|
334
276
|
// Create access token
|
|
335
277
|
const tokenId = randomUUID();
|
|
336
|
-
const accessToken = AUTH_CONFIG.SERVER.
|
|
278
|
+
const accessToken = AUTH_CONFIG.SERVER.TOKEN.ID_PREFIX + tokenId;
|
|
337
279
|
const ttlMs = this.configManager.getOAuthTokenTtlMs();
|
|
338
280
|
// Store session for token validation
|
|
339
|
-
this.
|
|
281
|
+
this.oauthStorage.sessionRepository.createWithId(tokenId, client.client_id, codeData.resource || '', codeData.scopes, ttlMs);
|
|
340
282
|
const tokens = {
|
|
341
283
|
access_token: accessToken,
|
|
342
284
|
token_type: 'Bearer',
|
|
343
285
|
expires_in: Math.floor(ttlMs / 1000),
|
|
344
|
-
scope:
|
|
286
|
+
scope: codeData.scopes ? codeData.scopes.join(' ') : '',
|
|
345
287
|
};
|
|
346
288
|
logger.info(`Exchanged authorization code for access token`, {
|
|
347
289
|
clientId: client.client_id,
|
|
@@ -372,30 +314,19 @@ export class SDKOAuthServerProvider {
|
|
|
372
314
|
};
|
|
373
315
|
}
|
|
374
316
|
// Strip prefix if present
|
|
375
|
-
const tokenId = token.startsWith(AUTH_CONFIG.SERVER.
|
|
376
|
-
? token.slice(AUTH_CONFIG.SERVER.
|
|
317
|
+
const tokenId = token.startsWith(AUTH_CONFIG.SERVER.TOKEN.ID_PREFIX)
|
|
318
|
+
? token.slice(AUTH_CONFIG.SERVER.TOKEN.ID_PREFIX.length)
|
|
377
319
|
: token;
|
|
378
320
|
// Get session data
|
|
379
|
-
const sessionId = AUTH_CONFIG.SERVER.
|
|
380
|
-
const sessionData = this.
|
|
321
|
+
const sessionId = AUTH_CONFIG.SERVER.SESSION.ID_PREFIX + tokenId;
|
|
322
|
+
const sessionData = this.oauthStorage.sessionRepository.get(sessionId);
|
|
381
323
|
if (!sessionData) {
|
|
382
324
|
throw new Error('Invalid or expired access token');
|
|
383
325
|
}
|
|
384
|
-
// Extract scopes from session resource (stored during authorization)
|
|
385
|
-
let scopes = [];
|
|
386
|
-
if (sessionData.resource) {
|
|
387
|
-
try {
|
|
388
|
-
const metadata = JSON.parse(sessionData.resource);
|
|
389
|
-
scopes = metadata.scopes || [];
|
|
390
|
-
}
|
|
391
|
-
catch (error) {
|
|
392
|
-
logger.warn(`Failed to parse session metadata for token ${tokenId}:`, error);
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
326
|
return {
|
|
396
327
|
token,
|
|
397
328
|
clientId: sessionData.clientId,
|
|
398
|
-
scopes,
|
|
329
|
+
scopes: sessionData.scopes,
|
|
399
330
|
expiresAt: sessionData.expires,
|
|
400
331
|
resource: sessionData.resource ? new URL(sessionData.resource) : undefined,
|
|
401
332
|
};
|
|
@@ -407,11 +338,11 @@ export class SDKOAuthServerProvider {
|
|
|
407
338
|
logger.debug('Revoking token', { clientId: client.client_id, request });
|
|
408
339
|
const token = request.token;
|
|
409
340
|
// Strip prefix if present
|
|
410
|
-
const tokenId = token.startsWith(AUTH_CONFIG.SERVER.
|
|
411
|
-
? token.slice(AUTH_CONFIG.SERVER.
|
|
341
|
+
const tokenId = token.startsWith(AUTH_CONFIG.SERVER.TOKEN.ID_PREFIX)
|
|
342
|
+
? token.slice(AUTH_CONFIG.SERVER.TOKEN.ID_PREFIX.length)
|
|
412
343
|
: token;
|
|
413
|
-
const sessionId = AUTH_CONFIG.SERVER.
|
|
414
|
-
const success = this.
|
|
344
|
+
const sessionId = AUTH_CONFIG.SERVER.SESSION.ID_PREFIX + tokenId;
|
|
345
|
+
const success = this.oauthStorage.sessionRepository.delete(sessionId);
|
|
415
346
|
if (success) {
|
|
416
347
|
logger.info(`Revoked access token for client ${client.client_id}`, {
|
|
417
348
|
tokenId: tokenId.substring(0, 8) + '...',
|
|
@@ -422,7 +353,7 @@ export class SDKOAuthServerProvider {
|
|
|
422
353
|
* Graceful shutdown
|
|
423
354
|
*/
|
|
424
355
|
shutdown() {
|
|
425
|
-
this.
|
|
356
|
+
this.oauthStorage.shutdown();
|
|
426
357
|
}
|
|
427
358
|
}
|
|
428
359
|
//# sourceMappingURL=sdkOAuthServerProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkOAuthServerProvider.js","sourceRoot":"","sources":["../../src/auth/sdkOAuthServerProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sdkOAuthServerProvider.js","sourceRoot":"","sources":["../../src/auth/sdkOAuthServerProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { OAuthClientInformationFull } from '@modelcontextprotocol/sdk/shared/auth.js';
|
|
2
|
+
/**
|
|
3
|
+
* Base interface for all data that can expire
|
|
4
|
+
*/
|
|
5
|
+
export interface ExpirableData {
|
|
4
6
|
expires: number;
|
|
5
7
|
createdAt: number;
|
|
6
|
-
data?: string;
|
|
7
8
|
}
|
|
8
|
-
export interface
|
|
9
|
+
export interface SessionData extends ExpirableData {
|
|
10
|
+
clientId: string;
|
|
11
|
+
resource: string;
|
|
12
|
+
scopes: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface ClientData extends ExpirableData, OAuthClientInformationFull {
|
|
15
|
+
}
|
|
16
|
+
export interface AuthCodeData extends ExpirableData {
|
|
9
17
|
clientId: string;
|
|
10
18
|
redirectUri: string;
|
|
11
19
|
resource: string;
|
|
12
|
-
|
|
13
|
-
|
|
20
|
+
scopes: string[];
|
|
21
|
+
codeChallenge?: string;
|
|
14
22
|
}
|
|
15
|
-
export interface ClientSessionData {
|
|
23
|
+
export interface ClientSessionData extends ExpirableData {
|
|
16
24
|
serverName: string;
|
|
17
25
|
clientInfo?: string;
|
|
18
26
|
tokens?: string;
|
|
19
27
|
codeVerifier?: string;
|
|
20
28
|
state?: string;
|
|
21
|
-
|
|
22
|
-
|
|
29
|
+
}
|
|
30
|
+
export interface AuthRequestData extends ExpirableData {
|
|
31
|
+
clientId: string;
|
|
32
|
+
redirectUri: string;
|
|
33
|
+
codeChallenge?: string;
|
|
34
|
+
state?: string;
|
|
35
|
+
resource?: string;
|
|
36
|
+
scopes?: string[];
|
|
23
37
|
}
|
|
24
38
|
//# sourceMappingURL=sessionTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionTypes.d.ts","sourceRoot":"","sources":["../../src/auth/sessionTypes.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"sessionTypes.d.ts","sourceRoot":"","sources":["../../src/auth/sessionTypes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,UAAW,SAAQ,aAAa,EAAE,0BAA0B;CAAG;AAEhF,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AuthCodeData } from '../sessionTypes.js';
|
|
2
|
+
import { FileStorageService } from './fileStorageService.js';
|
|
3
|
+
/**
|
|
4
|
+
* Repository for authorization code operations
|
|
5
|
+
*
|
|
6
|
+
* Manages OAuth 2.1 authorization codes for token exchange.
|
|
7
|
+
* Authorization codes are short-lived (1 minute) and single-use.
|
|
8
|
+
*/
|
|
9
|
+
export declare class AuthCodeRepository {
|
|
10
|
+
private storage;
|
|
11
|
+
constructor(storage: FileStorageService);
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new authorization code
|
|
14
|
+
*/
|
|
15
|
+
create(clientId: string, redirectUri: string, resource: string, scopes: string[], ttlMs: number, codeChallenge?: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* Retrieves authorization code data by code
|
|
18
|
+
*/
|
|
19
|
+
get(code: string): AuthCodeData | null;
|
|
20
|
+
/**
|
|
21
|
+
* Deletes an authorization code by code
|
|
22
|
+
*/
|
|
23
|
+
delete(code: string): boolean;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=authCodeRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authCodeRepository.d.ts","sourceRoot":"","sources":["../../../src/auth/storage/authCodeRepository.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;GAKG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,kBAAkB;IAE/C;;OAEG;IACH,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM;IAiBT;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAItC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAO9B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import logger from '../../logger/logger.js';
|
|
3
|
+
import { AUTH_CONFIG } from '../../constants.js';
|
|
4
|
+
/**
|
|
5
|
+
* Repository for authorization code operations
|
|
6
|
+
*
|
|
7
|
+
* Manages OAuth 2.1 authorization codes for token exchange.
|
|
8
|
+
* Authorization codes are short-lived (1 minute) and single-use.
|
|
9
|
+
*/
|
|
10
|
+
export class AuthCodeRepository {
|
|
11
|
+
storage;
|
|
12
|
+
constructor(storage) {
|
|
13
|
+
this.storage = storage;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Creates a new authorization code
|
|
17
|
+
*/
|
|
18
|
+
create(clientId, redirectUri, resource, scopes, ttlMs, codeChallenge) {
|
|
19
|
+
const code = AUTH_CONFIG.SERVER.AUTH_CODE.ID_PREFIX + randomUUID();
|
|
20
|
+
const authCodeData = {
|
|
21
|
+
clientId,
|
|
22
|
+
redirectUri,
|
|
23
|
+
resource,
|
|
24
|
+
scopes,
|
|
25
|
+
codeChallenge,
|
|
26
|
+
expires: Date.now() + ttlMs,
|
|
27
|
+
createdAt: Date.now(),
|
|
28
|
+
};
|
|
29
|
+
this.storage.writeData(AUTH_CONFIG.SERVER.AUTH_CODE.FILE_PREFIX, code, authCodeData);
|
|
30
|
+
logger.info(`Created auth code: ${code} for client: ${clientId}`);
|
|
31
|
+
return code;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Retrieves authorization code data by code
|
|
35
|
+
*/
|
|
36
|
+
get(code) {
|
|
37
|
+
return this.storage.readData(AUTH_CONFIG.SERVER.AUTH_CODE.FILE_PREFIX, code);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Deletes an authorization code by code
|
|
41
|
+
*/
|
|
42
|
+
delete(code) {
|
|
43
|
+
const result = this.storage.deleteData(AUTH_CONFIG.SERVER.AUTH_CODE.FILE_PREFIX, code);
|
|
44
|
+
if (result) {
|
|
45
|
+
logger.info(`Deleted auth code: ${code}`);
|
|
46
|
+
}
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=authCodeRepository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authCodeRepository.js","sourceRoot":"","sources":["../../../src/auth/storage/authCodeRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IACT;IAApB,YAAoB,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;IAAG,CAAC;IAEnD;;OAEG;IACH,MAAM,CACJ,QAAgB,EAChB,WAAmB,EACnB,QAAgB,EAChB,MAAgB,EAChB,KAAa,EACb,aAAsB;QAEtB,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,EAAE,CAAC;QACnE,MAAM,YAAY,GAAiB;YACjC,QAAQ;YACR,WAAW;YACX,QAAQ;YACR,MAAM;YACN,aAAa;YACb,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC3B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,gBAAgB,QAAQ,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAe,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC7F,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACvF,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AuthRequestData } from '../sessionTypes.js';
|
|
2
|
+
import { FileStorageService } from './fileStorageService.js';
|
|
3
|
+
/**
|
|
4
|
+
* Repository for authorization request operations
|
|
5
|
+
*
|
|
6
|
+
* Manages temporary authorization requests used in the consent flow.
|
|
7
|
+
* These store OAuth parameters securely server-side while user reviews consent.
|
|
8
|
+
*/
|
|
9
|
+
export declare class AuthRequestRepository {
|
|
10
|
+
private storage;
|
|
11
|
+
constructor(storage: FileStorageService);
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new authorization request
|
|
14
|
+
*/
|
|
15
|
+
create(clientId: string, redirectUri: string, codeChallenge?: string, state?: string, resource?: string, scopes?: string[]): string;
|
|
16
|
+
/**
|
|
17
|
+
* Retrieves authorization request data by ID
|
|
18
|
+
*/
|
|
19
|
+
get(authRequestId: string): AuthRequestData | null;
|
|
20
|
+
/**
|
|
21
|
+
* Deletes an authorization request by ID
|
|
22
|
+
*/
|
|
23
|
+
delete(authRequestId: string): boolean;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=authRequestRepository.d.ts.map
|