@modelcontextprotocol/sdk 1.15.1 → 1.17.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 +43 -7
- package/dist/cjs/client/auth.d.ts +69 -12
- package/dist/cjs/client/auth.d.ts.map +1 -1
- package/dist/cjs/client/auth.js +216 -39
- package/dist/cjs/client/auth.js.map +1 -1
- package/dist/cjs/client/index.d.ts +63 -63
- package/dist/cjs/client/sse.js +3 -3
- package/dist/cjs/client/sse.js.map +1 -1
- package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/client/streamableHttp.js +18 -18
- package/dist/cjs/client/streamableHttp.js.map +1 -1
- package/dist/cjs/server/auth/clients.d.ts +1 -1
- package/dist/cjs/server/auth/clients.d.ts.map +1 -1
- package/dist/cjs/server/auth/errors.d.ts +33 -18
- package/dist/cjs/server/auth/errors.d.ts.map +1 -1
- package/dist/cjs/server/auth/errors.js +55 -51
- package/dist/cjs/server/auth/errors.js.map +1 -1
- package/dist/cjs/server/auth/handlers/register.d.ts +7 -1
- package/dist/cjs/server/auth/handlers/register.d.ts.map +1 -1
- package/dist/cjs/server/auth/handlers/register.js +5 -4
- package/dist/cjs/server/auth/handlers/register.js.map +1 -1
- package/dist/cjs/server/auth/providers/proxyProvider.d.ts +6 -0
- package/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
- package/dist/cjs/server/auth/providers/proxyProvider.js +9 -4
- package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
- package/dist/cjs/server/auth/router.js +1 -1
- package/dist/cjs/server/auth/router.js.map +1 -1
- package/dist/cjs/server/index.d.ts +6 -6
- package/dist/cjs/shared/auth.d.ts +290 -0
- package/dist/cjs/shared/auth.d.ts.map +1 -1
- package/dist/cjs/shared/auth.js +59 -1
- package/dist/cjs/shared/auth.js.map +1 -1
- package/dist/cjs/shared/protocol.d.ts +8 -0
- package/dist/cjs/shared/protocol.d.ts.map +1 -1
- package/dist/cjs/shared/protocol.js +37 -0
- package/dist/cjs/shared/protocol.js.map +1 -1
- package/dist/cjs/types.d.ts +687 -687
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +19 -3
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/client/auth.d.ts +69 -12
- package/dist/esm/client/auth.d.ts.map +1 -1
- package/dist/esm/client/auth.js +208 -34
- package/dist/esm/client/auth.js.map +1 -1
- package/dist/esm/client/index.d.ts +63 -63
- package/dist/esm/client/sse.js +3 -3
- package/dist/esm/client/sse.js.map +1 -1
- package/dist/esm/client/streamableHttp.d.ts.map +1 -1
- package/dist/esm/client/streamableHttp.js +18 -18
- package/dist/esm/client/streamableHttp.js.map +1 -1
- package/dist/esm/server/auth/clients.d.ts +1 -1
- package/dist/esm/server/auth/clients.d.ts.map +1 -1
- package/dist/esm/server/auth/errors.d.ts +33 -18
- package/dist/esm/server/auth/errors.d.ts.map +1 -1
- package/dist/esm/server/auth/errors.js +52 -49
- package/dist/esm/server/auth/errors.js.map +1 -1
- package/dist/esm/server/auth/handlers/register.d.ts +7 -1
- package/dist/esm/server/auth/handlers/register.d.ts.map +1 -1
- package/dist/esm/server/auth/handlers/register.js +5 -4
- package/dist/esm/server/auth/handlers/register.js.map +1 -1
- package/dist/esm/server/auth/providers/proxyProvider.d.ts +6 -0
- package/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
- package/dist/esm/server/auth/providers/proxyProvider.js +9 -4
- package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
- package/dist/esm/server/auth/router.js +1 -1
- package/dist/esm/server/auth/router.js.map +1 -1
- package/dist/esm/server/index.d.ts +6 -6
- package/dist/esm/shared/auth.d.ts +290 -0
- package/dist/esm/shared/auth.d.ts.map +1 -1
- package/dist/esm/shared/auth.js +58 -0
- package/dist/esm/shared/auth.js.map +1 -1
- package/dist/esm/shared/protocol.d.ts +8 -0
- package/dist/esm/shared/protocol.d.ts.map +1 -1
- package/dist/esm/shared/protocol.js +37 -0
- package/dist/esm/shared/protocol.js.map +1 -1
- package/dist/esm/types.d.ts +687 -687
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +19 -3
- package/dist/esm/types.js.map +1 -1
- package/package.json +3 -2
package/dist/cjs/client/auth.js
CHANGED
|
@@ -4,11 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.UnauthorizedError = void 0;
|
|
7
|
+
exports.parseErrorResponse = parseErrorResponse;
|
|
7
8
|
exports.auth = auth;
|
|
8
9
|
exports.selectResourceURL = selectResourceURL;
|
|
9
10
|
exports.extractResourceMetadataUrl = extractResourceMetadataUrl;
|
|
10
11
|
exports.discoverOAuthProtectedResourceMetadata = discoverOAuthProtectedResourceMetadata;
|
|
11
12
|
exports.discoverOAuthMetadata = discoverOAuthMetadata;
|
|
13
|
+
exports.buildDiscoveryUrls = buildDiscoveryUrls;
|
|
14
|
+
exports.discoverAuthorizationServerMetadata = discoverAuthorizationServerMetadata;
|
|
12
15
|
exports.startAuthorization = startAuthorization;
|
|
13
16
|
exports.exchangeAuthorization = exchangeAuthorization;
|
|
14
17
|
exports.refreshAuthorization = refreshAuthorization;
|
|
@@ -16,7 +19,9 @@ exports.registerClient = registerClient;
|
|
|
16
19
|
const pkce_challenge_1 = __importDefault(require("pkce-challenge"));
|
|
17
20
|
const types_js_1 = require("../types.js");
|
|
18
21
|
const auth_js_1 = require("../shared/auth.js");
|
|
22
|
+
const auth_js_2 = require("../shared/auth.js");
|
|
19
23
|
const auth_utils_js_1 = require("../shared/auth-utils.js");
|
|
24
|
+
const errors_js_1 = require("../server/auth/errors.js");
|
|
20
25
|
class UnauthorizedError extends Error {
|
|
21
26
|
constructor(message) {
|
|
22
27
|
super(message !== null && message !== void 0 ? message : "Unauthorized");
|
|
@@ -109,17 +114,62 @@ function applyPostAuth(clientId, clientSecret, params) {
|
|
|
109
114
|
function applyPublicAuth(clientId, params) {
|
|
110
115
|
params.set("client_id", clientId);
|
|
111
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Parses an OAuth error response from a string or Response object.
|
|
119
|
+
*
|
|
120
|
+
* If the input is a standard OAuth2.0 error response, it will be parsed according to the spec
|
|
121
|
+
* and an instance of the appropriate OAuthError subclass will be returned.
|
|
122
|
+
* If parsing fails, it falls back to a generic ServerError that includes
|
|
123
|
+
* the response status (if available) and original content.
|
|
124
|
+
*
|
|
125
|
+
* @param input - A Response object or string containing the error response
|
|
126
|
+
* @returns A Promise that resolves to an OAuthError instance
|
|
127
|
+
*/
|
|
128
|
+
async function parseErrorResponse(input) {
|
|
129
|
+
const statusCode = input instanceof Response ? input.status : undefined;
|
|
130
|
+
const body = input instanceof Response ? await input.text() : input;
|
|
131
|
+
try {
|
|
132
|
+
const result = auth_js_1.OAuthErrorResponseSchema.parse(JSON.parse(body));
|
|
133
|
+
const { error, error_description, error_uri } = result;
|
|
134
|
+
const errorClass = errors_js_1.OAUTH_ERRORS[error] || errors_js_1.ServerError;
|
|
135
|
+
return new errorClass(error_description || '', error_uri);
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
// Not a valid OAuth error response, but try to inform the user of the raw data anyway
|
|
139
|
+
const errorMessage = `${statusCode ? `HTTP ${statusCode}: ` : ''}Invalid OAuth error response: ${error}. Raw body: ${body}`;
|
|
140
|
+
return new errors_js_1.ServerError(errorMessage);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
112
143
|
/**
|
|
113
144
|
* Orchestrates the full auth flow with a server.
|
|
114
145
|
*
|
|
115
146
|
* This can be used as a single entry point for all authorization functionality,
|
|
116
147
|
* instead of linking together the other lower-level functions in this module.
|
|
117
148
|
*/
|
|
118
|
-
async function auth(provider,
|
|
149
|
+
async function auth(provider, options) {
|
|
150
|
+
var _a, _b;
|
|
151
|
+
try {
|
|
152
|
+
return await authInternal(provider, options);
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
// Handle recoverable error types by invalidating credentials and retrying
|
|
156
|
+
if (error instanceof errors_js_1.InvalidClientError || error instanceof errors_js_1.UnauthorizedClientError) {
|
|
157
|
+
await ((_a = provider.invalidateCredentials) === null || _a === void 0 ? void 0 : _a.call(provider, 'all'));
|
|
158
|
+
return await authInternal(provider, options);
|
|
159
|
+
}
|
|
160
|
+
else if (error instanceof errors_js_1.InvalidGrantError) {
|
|
161
|
+
await ((_b = provider.invalidateCredentials) === null || _b === void 0 ? void 0 : _b.call(provider, 'tokens'));
|
|
162
|
+
return await authInternal(provider, options);
|
|
163
|
+
}
|
|
164
|
+
// Throw otherwise
|
|
165
|
+
throw error;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
async function authInternal(provider, { serverUrl, authorizationCode, scope, resourceMetadataUrl, fetchFn, }) {
|
|
119
169
|
let resourceMetadata;
|
|
120
|
-
let authorizationServerUrl
|
|
170
|
+
let authorizationServerUrl;
|
|
121
171
|
try {
|
|
122
|
-
resourceMetadata = await discoverOAuthProtectedResourceMetadata(serverUrl, { resourceMetadataUrl });
|
|
172
|
+
resourceMetadata = await discoverOAuthProtectedResourceMetadata(serverUrl, { resourceMetadataUrl }, fetchFn);
|
|
123
173
|
if (resourceMetadata.authorization_servers && resourceMetadata.authorization_servers.length > 0) {
|
|
124
174
|
authorizationServerUrl = resourceMetadata.authorization_servers[0];
|
|
125
175
|
}
|
|
@@ -127,9 +177,16 @@ async function auth(provider, { serverUrl, authorizationCode, scope, resourceMet
|
|
|
127
177
|
catch (_a) {
|
|
128
178
|
// Ignore errors and fall back to /.well-known/oauth-authorization-server
|
|
129
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* If we don't get a valid authorization server metadata from protected resource metadata,
|
|
182
|
+
* fallback to the legacy MCP spec's implementation (version 2025-03-26): MCP server acts as the Authorization server.
|
|
183
|
+
*/
|
|
184
|
+
if (!authorizationServerUrl) {
|
|
185
|
+
authorizationServerUrl = serverUrl;
|
|
186
|
+
}
|
|
130
187
|
const resource = await selectResourceURL(serverUrl, provider, resourceMetadata);
|
|
131
|
-
const metadata = await
|
|
132
|
-
|
|
188
|
+
const metadata = await discoverAuthorizationServerMetadata(authorizationServerUrl, {
|
|
189
|
+
fetchFn,
|
|
133
190
|
});
|
|
134
191
|
// Handle client registration if needed
|
|
135
192
|
let clientInformation = await Promise.resolve(provider.clientInformation());
|
|
@@ -158,6 +215,7 @@ async function auth(provider, { serverUrl, authorizationCode, scope, resourceMet
|
|
|
158
215
|
redirectUri: provider.redirectUrl,
|
|
159
216
|
resource,
|
|
160
217
|
addClientAuthentication: provider.addClientAuthentication,
|
|
218
|
+
fetchFn: fetchFn,
|
|
161
219
|
});
|
|
162
220
|
await provider.saveTokens(tokens);
|
|
163
221
|
return "AUTHORIZED";
|
|
@@ -177,8 +235,15 @@ async function auth(provider, { serverUrl, authorizationCode, scope, resourceMet
|
|
|
177
235
|
await provider.saveTokens(newTokens);
|
|
178
236
|
return "AUTHORIZED";
|
|
179
237
|
}
|
|
180
|
-
catch (
|
|
181
|
-
//
|
|
238
|
+
catch (error) {
|
|
239
|
+
// If this is a ServerError, or an unknown type, log it out and try to continue. Otherwise, escalate so we can fix things and retry.
|
|
240
|
+
if (!(error instanceof errors_js_1.OAuthError) || error instanceof errors_js_1.ServerError) {
|
|
241
|
+
// Could not refresh OAuth tokens
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
// Refresh failed for another reason, re-throw
|
|
245
|
+
throw error;
|
|
246
|
+
}
|
|
182
247
|
}
|
|
183
248
|
}
|
|
184
249
|
const state = provider.state ? await provider.state() : undefined;
|
|
@@ -242,8 +307,8 @@ function extractResourceMetadataUrl(res) {
|
|
|
242
307
|
* If the server returns a 404 for the well-known endpoint, this function will
|
|
243
308
|
* return `undefined`. Any other errors will be thrown as exceptions.
|
|
244
309
|
*/
|
|
245
|
-
async function discoverOAuthProtectedResourceMetadata(serverUrl, opts) {
|
|
246
|
-
const response = await discoverMetadataWithFallback(serverUrl, 'oauth-protected-resource', {
|
|
310
|
+
async function discoverOAuthProtectedResourceMetadata(serverUrl, opts, fetchFn = fetch) {
|
|
311
|
+
const response = await discoverMetadataWithFallback(serverUrl, 'oauth-protected-resource', fetchFn, {
|
|
247
312
|
protocolVersion: opts === null || opts === void 0 ? void 0 : opts.protocolVersion,
|
|
248
313
|
metadataUrl: opts === null || opts === void 0 ? void 0 : opts.resourceMetadataUrl,
|
|
249
314
|
});
|
|
@@ -253,20 +318,20 @@ async function discoverOAuthProtectedResourceMetadata(serverUrl, opts) {
|
|
|
253
318
|
if (!response.ok) {
|
|
254
319
|
throw new Error(`HTTP ${response.status} trying to load well-known OAuth protected resource metadata.`);
|
|
255
320
|
}
|
|
256
|
-
return
|
|
321
|
+
return auth_js_2.OAuthProtectedResourceMetadataSchema.parse(await response.json());
|
|
257
322
|
}
|
|
258
323
|
/**
|
|
259
324
|
* Helper function to handle fetch with CORS retry logic
|
|
260
325
|
*/
|
|
261
|
-
async function fetchWithCorsRetry(url, headers) {
|
|
326
|
+
async function fetchWithCorsRetry(url, headers, fetchFn = fetch) {
|
|
262
327
|
try {
|
|
263
|
-
return await
|
|
328
|
+
return await fetchFn(url, { headers });
|
|
264
329
|
}
|
|
265
330
|
catch (error) {
|
|
266
331
|
if (error instanceof TypeError) {
|
|
267
332
|
if (headers) {
|
|
268
333
|
// CORS errors come back as TypeError, retry without headers
|
|
269
|
-
return fetchWithCorsRetry(url);
|
|
334
|
+
return fetchWithCorsRetry(url, undefined, fetchFn);
|
|
270
335
|
}
|
|
271
336
|
else {
|
|
272
337
|
// We're getting CORS errors on retry too, return undefined
|
|
@@ -277,24 +342,25 @@ async function fetchWithCorsRetry(url, headers) {
|
|
|
277
342
|
}
|
|
278
343
|
}
|
|
279
344
|
/**
|
|
280
|
-
* Constructs the well-known path for
|
|
345
|
+
* Constructs the well-known path for auth-related metadata discovery
|
|
281
346
|
*/
|
|
282
|
-
function buildWellKnownPath(wellKnownPrefix, pathname) {
|
|
283
|
-
|
|
347
|
+
function buildWellKnownPath(wellKnownPrefix, pathname = '', options = {}) {
|
|
348
|
+
// Strip trailing slash from pathname to avoid double slashes
|
|
284
349
|
if (pathname.endsWith('/')) {
|
|
285
|
-
|
|
286
|
-
wellKnownPath = wellKnownPath.slice(0, -1);
|
|
350
|
+
pathname = pathname.slice(0, -1);
|
|
287
351
|
}
|
|
288
|
-
return
|
|
352
|
+
return options.prependPathname
|
|
353
|
+
? `${pathname}/.well-known/${wellKnownPrefix}`
|
|
354
|
+
: `/.well-known/${wellKnownPrefix}${pathname}`;
|
|
289
355
|
}
|
|
290
356
|
/**
|
|
291
357
|
* Tries to discover OAuth metadata at a specific URL
|
|
292
358
|
*/
|
|
293
|
-
async function tryMetadataDiscovery(url, protocolVersion) {
|
|
359
|
+
async function tryMetadataDiscovery(url, protocolVersion, fetchFn = fetch) {
|
|
294
360
|
const headers = {
|
|
295
361
|
"MCP-Protocol-Version": protocolVersion
|
|
296
362
|
};
|
|
297
|
-
return await fetchWithCorsRetry(url, headers);
|
|
363
|
+
return await fetchWithCorsRetry(url, headers, fetchFn);
|
|
298
364
|
}
|
|
299
365
|
/**
|
|
300
366
|
* Determines if fallback to root discovery should be attempted
|
|
@@ -305,7 +371,7 @@ function shouldAttemptFallback(response, pathname) {
|
|
|
305
371
|
/**
|
|
306
372
|
* Generic function for discovering OAuth metadata with fallback support
|
|
307
373
|
*/
|
|
308
|
-
async function discoverMetadataWithFallback(serverUrl, wellKnownType, opts) {
|
|
374
|
+
async function discoverMetadataWithFallback(serverUrl, wellKnownType, fetchFn, opts) {
|
|
309
375
|
var _a, _b;
|
|
310
376
|
const issuer = new URL(serverUrl);
|
|
311
377
|
const protocolVersion = (_a = opts === null || opts === void 0 ? void 0 : opts.protocolVersion) !== null && _a !== void 0 ? _a : types_js_1.LATEST_PROTOCOL_VERSION;
|
|
@@ -319,11 +385,11 @@ async function discoverMetadataWithFallback(serverUrl, wellKnownType, opts) {
|
|
|
319
385
|
url = new URL(wellKnownPath, (_b = opts === null || opts === void 0 ? void 0 : opts.metadataServerUrl) !== null && _b !== void 0 ? _b : issuer);
|
|
320
386
|
url.search = issuer.search;
|
|
321
387
|
}
|
|
322
|
-
let response = await tryMetadataDiscovery(url, protocolVersion);
|
|
388
|
+
let response = await tryMetadataDiscovery(url, protocolVersion, fetchFn);
|
|
323
389
|
// If path-aware discovery fails with 404 and we're not already at root, try fallback to root discovery
|
|
324
390
|
if (!(opts === null || opts === void 0 ? void 0 : opts.metadataUrl) && shouldAttemptFallback(response, issuer.pathname)) {
|
|
325
391
|
const rootUrl = new URL(`/.well-known/${wellKnownType}`, issuer);
|
|
326
|
-
response = await tryMetadataDiscovery(rootUrl, protocolVersion);
|
|
392
|
+
response = await tryMetadataDiscovery(rootUrl, protocolVersion, fetchFn);
|
|
327
393
|
}
|
|
328
394
|
return response;
|
|
329
395
|
}
|
|
@@ -332,8 +398,10 @@ async function discoverMetadataWithFallback(serverUrl, wellKnownType, opts) {
|
|
|
332
398
|
*
|
|
333
399
|
* If the server returns a 404 for the well-known endpoint, this function will
|
|
334
400
|
* return `undefined`. Any other errors will be thrown as exceptions.
|
|
401
|
+
*
|
|
402
|
+
* @deprecated This function is deprecated in favor of `discoverAuthorizationServerMetadata`.
|
|
335
403
|
*/
|
|
336
|
-
async function discoverOAuthMetadata(issuer, { authorizationServerUrl, protocolVersion, } = {}) {
|
|
404
|
+
async function discoverOAuthMetadata(issuer, { authorizationServerUrl, protocolVersion, } = {}, fetchFn = fetch) {
|
|
337
405
|
if (typeof issuer === 'string') {
|
|
338
406
|
issuer = new URL(issuer);
|
|
339
407
|
}
|
|
@@ -344,7 +412,7 @@ async function discoverOAuthMetadata(issuer, { authorizationServerUrl, protocolV
|
|
|
344
412
|
authorizationServerUrl = new URL(authorizationServerUrl);
|
|
345
413
|
}
|
|
346
414
|
protocolVersion !== null && protocolVersion !== void 0 ? protocolVersion : (protocolVersion = types_js_1.LATEST_PROTOCOL_VERSION);
|
|
347
|
-
const response = await discoverMetadataWithFallback(
|
|
415
|
+
const response = await discoverMetadataWithFallback(authorizationServerUrl, 'oauth-authorization-server', fetchFn, {
|
|
348
416
|
protocolVersion,
|
|
349
417
|
metadataServerUrl: authorizationServerUrl,
|
|
350
418
|
});
|
|
@@ -354,7 +422,109 @@ async function discoverOAuthMetadata(issuer, { authorizationServerUrl, protocolV
|
|
|
354
422
|
if (!response.ok) {
|
|
355
423
|
throw new Error(`HTTP ${response.status} trying to load well-known OAuth metadata`);
|
|
356
424
|
}
|
|
357
|
-
return
|
|
425
|
+
return auth_js_2.OAuthMetadataSchema.parse(await response.json());
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Builds a list of discovery URLs to try for authorization server metadata.
|
|
429
|
+
* URLs are returned in priority order:
|
|
430
|
+
* 1. OAuth metadata at the given URL
|
|
431
|
+
* 2. OAuth metadata at root (if URL has path)
|
|
432
|
+
* 3. OIDC metadata endpoints
|
|
433
|
+
*/
|
|
434
|
+
function buildDiscoveryUrls(authorizationServerUrl) {
|
|
435
|
+
const url = typeof authorizationServerUrl === 'string' ? new URL(authorizationServerUrl) : authorizationServerUrl;
|
|
436
|
+
const hasPath = url.pathname !== '/';
|
|
437
|
+
const urlsToTry = [];
|
|
438
|
+
if (!hasPath) {
|
|
439
|
+
// Root path: https://example.com/.well-known/oauth-authorization-server
|
|
440
|
+
urlsToTry.push({
|
|
441
|
+
url: new URL('/.well-known/oauth-authorization-server', url.origin),
|
|
442
|
+
type: 'oauth'
|
|
443
|
+
});
|
|
444
|
+
// OIDC: https://example.com/.well-known/openid-configuration
|
|
445
|
+
urlsToTry.push({
|
|
446
|
+
url: new URL(`/.well-known/openid-configuration`, url.origin),
|
|
447
|
+
type: 'oidc'
|
|
448
|
+
});
|
|
449
|
+
return urlsToTry;
|
|
450
|
+
}
|
|
451
|
+
// Strip trailing slash from pathname to avoid double slashes
|
|
452
|
+
let pathname = url.pathname;
|
|
453
|
+
if (pathname.endsWith('/')) {
|
|
454
|
+
pathname = pathname.slice(0, -1);
|
|
455
|
+
}
|
|
456
|
+
// 1. OAuth metadata at the given URL
|
|
457
|
+
// Insert well-known before the path: https://example.com/.well-known/oauth-authorization-server/tenant1
|
|
458
|
+
urlsToTry.push({
|
|
459
|
+
url: new URL(`/.well-known/oauth-authorization-server${pathname}`, url.origin),
|
|
460
|
+
type: 'oauth'
|
|
461
|
+
});
|
|
462
|
+
// Root path: https://example.com/.well-known/oauth-authorization-server
|
|
463
|
+
urlsToTry.push({
|
|
464
|
+
url: new URL('/.well-known/oauth-authorization-server', url.origin),
|
|
465
|
+
type: 'oauth'
|
|
466
|
+
});
|
|
467
|
+
// 3. OIDC metadata endpoints
|
|
468
|
+
// RFC 8414 style: Insert /.well-known/openid-configuration before the path
|
|
469
|
+
urlsToTry.push({
|
|
470
|
+
url: new URL(`/.well-known/openid-configuration${pathname}`, url.origin),
|
|
471
|
+
type: 'oidc'
|
|
472
|
+
});
|
|
473
|
+
// OIDC Discovery 1.0 style: Append /.well-known/openid-configuration after the path
|
|
474
|
+
urlsToTry.push({
|
|
475
|
+
url: new URL(`${pathname}/.well-known/openid-configuration`, url.origin),
|
|
476
|
+
type: 'oidc'
|
|
477
|
+
});
|
|
478
|
+
return urlsToTry;
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Discovers authorization server metadata with support for RFC 8414 OAuth 2.0 Authorization Server Metadata
|
|
482
|
+
* and OpenID Connect Discovery 1.0 specifications.
|
|
483
|
+
*
|
|
484
|
+
* This function implements a fallback strategy for authorization server discovery:
|
|
485
|
+
* 1. Attempts RFC 8414 OAuth metadata discovery first
|
|
486
|
+
* 2. If OAuth discovery fails, falls back to OpenID Connect Discovery
|
|
487
|
+
*
|
|
488
|
+
* @param authorizationServerUrl - The authorization server URL obtained from the MCP Server's
|
|
489
|
+
* protected resource metadata, or the MCP server's URL if the
|
|
490
|
+
* metadata was not found.
|
|
491
|
+
* @param options - Configuration options
|
|
492
|
+
* @param options.fetchFn - Optional fetch function for making HTTP requests, defaults to global fetch
|
|
493
|
+
* @param options.protocolVersion - MCP protocol version to use, defaults to LATEST_PROTOCOL_VERSION
|
|
494
|
+
* @returns Promise resolving to authorization server metadata, or undefined if discovery fails
|
|
495
|
+
*/
|
|
496
|
+
async function discoverAuthorizationServerMetadata(authorizationServerUrl, { fetchFn = fetch, protocolVersion = types_js_1.LATEST_PROTOCOL_VERSION, } = {}) {
|
|
497
|
+
var _a;
|
|
498
|
+
const headers = { 'MCP-Protocol-Version': protocolVersion };
|
|
499
|
+
// Get the list of URLs to try
|
|
500
|
+
const urlsToTry = buildDiscoveryUrls(authorizationServerUrl);
|
|
501
|
+
// Try each URL in order
|
|
502
|
+
for (const { url: endpointUrl, type } of urlsToTry) {
|
|
503
|
+
const response = await fetchWithCorsRetry(endpointUrl, headers, fetchFn);
|
|
504
|
+
if (!response) {
|
|
505
|
+
throw new Error(`CORS error trying to load ${type === 'oauth' ? 'OAuth' : 'OpenID provider'} metadata from ${endpointUrl}`);
|
|
506
|
+
}
|
|
507
|
+
if (!response.ok) {
|
|
508
|
+
// Continue looking for any 4xx response code.
|
|
509
|
+
if (response.status >= 400 && response.status < 500) {
|
|
510
|
+
continue; // Try next URL
|
|
511
|
+
}
|
|
512
|
+
throw new Error(`HTTP ${response.status} trying to load ${type === 'oauth' ? 'OAuth' : 'OpenID provider'} metadata from ${endpointUrl}`);
|
|
513
|
+
}
|
|
514
|
+
// Parse and validate based on type
|
|
515
|
+
if (type === 'oauth') {
|
|
516
|
+
return auth_js_2.OAuthMetadataSchema.parse(await response.json());
|
|
517
|
+
}
|
|
518
|
+
else {
|
|
519
|
+
const metadata = auth_js_1.OpenIdProviderDiscoveryMetadataSchema.parse(await response.json());
|
|
520
|
+
// MCP spec requires OIDC providers to support S256 PKCE
|
|
521
|
+
if (!((_a = metadata.code_challenge_methods_supported) === null || _a === void 0 ? void 0 : _a.includes('S256'))) {
|
|
522
|
+
throw new Error(`Incompatible OIDC provider at ${endpointUrl}: does not support S256 code challenge method required by MCP specification`);
|
|
523
|
+
}
|
|
524
|
+
return metadata;
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
return undefined;
|
|
358
528
|
}
|
|
359
529
|
/**
|
|
360
530
|
* Begins the authorization flow with the given server, by generating a PKCE challenge and constructing the authorization URL.
|
|
@@ -391,6 +561,12 @@ async function startAuthorization(authorizationServerUrl, { metadata, clientInfo
|
|
|
391
561
|
if (scope) {
|
|
392
562
|
authorizationUrl.searchParams.set("scope", scope);
|
|
393
563
|
}
|
|
564
|
+
if (scope === null || scope === void 0 ? void 0 : scope.includes("offline_access")) {
|
|
565
|
+
// if the request includes the OIDC-only "offline_access" scope,
|
|
566
|
+
// we need to set the prompt to "consent" to ensure the user is prompted to grant offline access
|
|
567
|
+
// https://openid.net/specs/openid-connect-core-1_0.html#OfflineAccess
|
|
568
|
+
authorizationUrl.searchParams.append("prompt", "consent");
|
|
569
|
+
}
|
|
394
570
|
if (resource) {
|
|
395
571
|
authorizationUrl.searchParams.set("resource", resource.href);
|
|
396
572
|
}
|
|
@@ -408,7 +584,7 @@ async function startAuthorization(authorizationServerUrl, { metadata, clientInfo
|
|
|
408
584
|
* @returns Promise resolving to OAuth tokens
|
|
409
585
|
* @throws {Error} When token exchange fails or authentication is invalid
|
|
410
586
|
*/
|
|
411
|
-
async function exchangeAuthorization(authorizationServerUrl, { metadata, clientInformation, authorizationCode, codeVerifier, redirectUri, resource, addClientAuthentication }) {
|
|
587
|
+
async function exchangeAuthorization(authorizationServerUrl, { metadata, clientInformation, authorizationCode, codeVerifier, redirectUri, resource, addClientAuthentication, fetchFn, }) {
|
|
412
588
|
var _a;
|
|
413
589
|
const grantType = "authorization_code";
|
|
414
590
|
const tokenUrl = (metadata === null || metadata === void 0 ? void 0 : metadata.token_endpoint)
|
|
@@ -421,6 +597,7 @@ async function exchangeAuthorization(authorizationServerUrl, { metadata, clientI
|
|
|
421
597
|
// Exchange code for tokens
|
|
422
598
|
const headers = new Headers({
|
|
423
599
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
600
|
+
"Accept": "application/json",
|
|
424
601
|
});
|
|
425
602
|
const params = new URLSearchParams({
|
|
426
603
|
grant_type: grantType,
|
|
@@ -440,15 +617,15 @@ async function exchangeAuthorization(authorizationServerUrl, { metadata, clientI
|
|
|
440
617
|
if (resource) {
|
|
441
618
|
params.set("resource", resource.href);
|
|
442
619
|
}
|
|
443
|
-
const response = await fetch(tokenUrl, {
|
|
620
|
+
const response = await (fetchFn !== null && fetchFn !== void 0 ? fetchFn : fetch)(tokenUrl, {
|
|
444
621
|
method: "POST",
|
|
445
622
|
headers,
|
|
446
623
|
body: params,
|
|
447
624
|
});
|
|
448
625
|
if (!response.ok) {
|
|
449
|
-
throw
|
|
626
|
+
throw await parseErrorResponse(response);
|
|
450
627
|
}
|
|
451
|
-
return
|
|
628
|
+
return auth_js_2.OAuthTokensSchema.parse(await response.json());
|
|
452
629
|
}
|
|
453
630
|
/**
|
|
454
631
|
* Exchange a refresh token for an updated access token.
|
|
@@ -462,7 +639,7 @@ async function exchangeAuthorization(authorizationServerUrl, { metadata, clientI
|
|
|
462
639
|
* @returns Promise resolving to OAuth tokens (preserves original refresh_token if not replaced)
|
|
463
640
|
* @throws {Error} When token refresh fails or authentication is invalid
|
|
464
641
|
*/
|
|
465
|
-
async function refreshAuthorization(authorizationServerUrl, { metadata, clientInformation, refreshToken, resource, addClientAuthentication, }) {
|
|
642
|
+
async function refreshAuthorization(authorizationServerUrl, { metadata, clientInformation, refreshToken, resource, addClientAuthentication, fetchFn, }) {
|
|
466
643
|
var _a;
|
|
467
644
|
const grantType = "refresh_token";
|
|
468
645
|
let tokenUrl;
|
|
@@ -496,20 +673,20 @@ async function refreshAuthorization(authorizationServerUrl, { metadata, clientIn
|
|
|
496
673
|
if (resource) {
|
|
497
674
|
params.set("resource", resource.href);
|
|
498
675
|
}
|
|
499
|
-
const response = await fetch(tokenUrl, {
|
|
676
|
+
const response = await (fetchFn !== null && fetchFn !== void 0 ? fetchFn : fetch)(tokenUrl, {
|
|
500
677
|
method: "POST",
|
|
501
678
|
headers,
|
|
502
679
|
body: params,
|
|
503
680
|
});
|
|
504
681
|
if (!response.ok) {
|
|
505
|
-
throw
|
|
682
|
+
throw await parseErrorResponse(response);
|
|
506
683
|
}
|
|
507
|
-
return
|
|
684
|
+
return auth_js_2.OAuthTokensSchema.parse({ refresh_token: refreshToken, ...(await response.json()) });
|
|
508
685
|
}
|
|
509
686
|
/**
|
|
510
687
|
* Performs OAuth 2.0 Dynamic Client Registration according to RFC 7591.
|
|
511
688
|
*/
|
|
512
|
-
async function registerClient(authorizationServerUrl, { metadata, clientMetadata, }) {
|
|
689
|
+
async function registerClient(authorizationServerUrl, { metadata, clientMetadata, fetchFn, }) {
|
|
513
690
|
let registrationUrl;
|
|
514
691
|
if (metadata) {
|
|
515
692
|
if (!metadata.registration_endpoint) {
|
|
@@ -520,7 +697,7 @@ async function registerClient(authorizationServerUrl, { metadata, clientMetadata
|
|
|
520
697
|
else {
|
|
521
698
|
registrationUrl = new URL("/register", authorizationServerUrl);
|
|
522
699
|
}
|
|
523
|
-
const response = await fetch(registrationUrl, {
|
|
700
|
+
const response = await (fetchFn !== null && fetchFn !== void 0 ? fetchFn : fetch)(registrationUrl, {
|
|
524
701
|
method: "POST",
|
|
525
702
|
headers: {
|
|
526
703
|
"Content-Type": "application/json",
|
|
@@ -528,8 +705,8 @@ async function registerClient(authorizationServerUrl, { metadata, clientMetadata
|
|
|
528
705
|
body: JSON.stringify(clientMetadata),
|
|
529
706
|
});
|
|
530
707
|
if (!response.ok) {
|
|
531
|
-
throw
|
|
708
|
+
throw await parseErrorResponse(response);
|
|
532
709
|
}
|
|
533
|
-
return
|
|
710
|
+
return auth_js_2.OAuthClientInformationFullSchema.parse(await response.json());
|
|
534
711
|
}
|
|
535
712
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/client/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/client/auth.ts"],"names":[],"mappings":"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"}
|