@modelcontextprotocol/sdk 1.15.0 → 1.16.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 (124) hide show
  1. package/README.md +64 -16
  2. package/dist/cjs/cli.js +5 -1
  3. package/dist/cjs/cli.js.map +1 -1
  4. package/dist/cjs/client/auth.d.ts +72 -8
  5. package/dist/cjs/client/auth.d.ts.map +1 -1
  6. package/dist/cjs/client/auth.js +273 -87
  7. package/dist/cjs/client/auth.js.map +1 -1
  8. package/dist/cjs/client/sse.d.ts.map +1 -1
  9. package/dist/cjs/client/sse.js +8 -13
  10. package/dist/cjs/client/sse.js.map +1 -1
  11. package/dist/cjs/client/stdio.d.ts.map +1 -1
  12. package/dist/cjs/client/stdio.js +10 -6
  13. package/dist/cjs/client/stdio.js.map +1 -1
  14. package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
  15. package/dist/cjs/client/streamableHttp.js +18 -18
  16. package/dist/cjs/client/streamableHttp.js.map +1 -1
  17. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  18. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js +5 -1
  19. package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
  20. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +11 -1
  21. package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  22. package/dist/cjs/examples/server/simpleSseServer.js +5 -1
  23. package/dist/cjs/examples/server/simpleSseServer.js.map +1 -1
  24. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +11 -1
  25. package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  26. package/dist/cjs/examples/server/simpleStreamableHttp.js +13 -3
  27. package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
  28. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +11 -1
  29. package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  30. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +5 -1
  31. package/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  32. package/dist/cjs/server/auth/clients.d.ts +1 -1
  33. package/dist/cjs/server/auth/clients.d.ts.map +1 -1
  34. package/dist/cjs/server/auth/errors.d.ts +33 -18
  35. package/dist/cjs/server/auth/errors.d.ts.map +1 -1
  36. package/dist/cjs/server/auth/errors.js +55 -51
  37. package/dist/cjs/server/auth/errors.js.map +1 -1
  38. package/dist/cjs/server/auth/handlers/register.d.ts +7 -1
  39. package/dist/cjs/server/auth/handlers/register.d.ts.map +1 -1
  40. package/dist/cjs/server/auth/handlers/register.js +5 -4
  41. package/dist/cjs/server/auth/handlers/register.js.map +1 -1
  42. package/dist/cjs/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  43. package/dist/cjs/server/auth/middleware/bearerAuth.js +5 -2
  44. package/dist/cjs/server/auth/middleware/bearerAuth.js.map +1 -1
  45. package/dist/cjs/server/auth/providers/proxyProvider.d.ts +6 -0
  46. package/dist/cjs/server/auth/providers/proxyProvider.d.ts.map +1 -1
  47. package/dist/cjs/server/auth/providers/proxyProvider.js +9 -4
  48. package/dist/cjs/server/auth/providers/proxyProvider.js.map +1 -1
  49. package/dist/cjs/server/auth/router.js +1 -1
  50. package/dist/cjs/server/auth/router.js.map +1 -1
  51. package/dist/cjs/server/streamableHttp.d.ts +13 -1
  52. package/dist/cjs/server/streamableHttp.d.ts.map +1 -1
  53. package/dist/cjs/server/streamableHttp.js +4 -1
  54. package/dist/cjs/server/streamableHttp.js.map +1 -1
  55. package/dist/cjs/shared/auth.d.ts +3 -0
  56. package/dist/cjs/shared/auth.d.ts.map +1 -1
  57. package/dist/cjs/shared/auth.js +1 -0
  58. package/dist/cjs/shared/auth.js.map +1 -1
  59. package/dist/cjs/shared/protocol.d.ts +8 -0
  60. package/dist/cjs/shared/protocol.d.ts.map +1 -1
  61. package/dist/cjs/shared/protocol.js +37 -0
  62. package/dist/cjs/shared/protocol.js.map +1 -1
  63. package/dist/esm/cli.js +5 -1
  64. package/dist/esm/cli.js.map +1 -1
  65. package/dist/esm/client/auth.d.ts +72 -8
  66. package/dist/esm/client/auth.d.ts.map +1 -1
  67. package/dist/esm/client/auth.js +267 -82
  68. package/dist/esm/client/auth.js.map +1 -1
  69. package/dist/esm/client/sse.d.ts.map +1 -1
  70. package/dist/esm/client/sse.js +8 -13
  71. package/dist/esm/client/sse.js.map +1 -1
  72. package/dist/esm/client/stdio.d.ts.map +1 -1
  73. package/dist/esm/client/stdio.js +10 -6
  74. package/dist/esm/client/stdio.js.map +1 -1
  75. package/dist/esm/client/streamableHttp.d.ts.map +1 -1
  76. package/dist/esm/client/streamableHttp.js +18 -18
  77. package/dist/esm/client/streamableHttp.js.map +1 -1
  78. package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
  79. package/dist/esm/examples/server/demoInMemoryOAuthProvider.js +5 -1
  80. package/dist/esm/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
  81. package/dist/esm/examples/server/jsonResponseStreamableHttp.js +11 -1
  82. package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
  83. package/dist/esm/examples/server/simpleSseServer.js +5 -1
  84. package/dist/esm/examples/server/simpleSseServer.js.map +1 -1
  85. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +11 -1
  86. package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
  87. package/dist/esm/examples/server/simpleStreamableHttp.js +13 -3
  88. package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
  89. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +11 -1
  90. package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
  91. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +5 -1
  92. package/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
  93. package/dist/esm/server/auth/clients.d.ts +1 -1
  94. package/dist/esm/server/auth/clients.d.ts.map +1 -1
  95. package/dist/esm/server/auth/errors.d.ts +33 -18
  96. package/dist/esm/server/auth/errors.d.ts.map +1 -1
  97. package/dist/esm/server/auth/errors.js +52 -49
  98. package/dist/esm/server/auth/errors.js.map +1 -1
  99. package/dist/esm/server/auth/handlers/register.d.ts +7 -1
  100. package/dist/esm/server/auth/handlers/register.d.ts.map +1 -1
  101. package/dist/esm/server/auth/handlers/register.js +5 -4
  102. package/dist/esm/server/auth/handlers/register.js.map +1 -1
  103. package/dist/esm/server/auth/middleware/bearerAuth.d.ts.map +1 -1
  104. package/dist/esm/server/auth/middleware/bearerAuth.js +5 -2
  105. package/dist/esm/server/auth/middleware/bearerAuth.js.map +1 -1
  106. package/dist/esm/server/auth/providers/proxyProvider.d.ts +6 -0
  107. package/dist/esm/server/auth/providers/proxyProvider.d.ts.map +1 -1
  108. package/dist/esm/server/auth/providers/proxyProvider.js +9 -4
  109. package/dist/esm/server/auth/providers/proxyProvider.js.map +1 -1
  110. package/dist/esm/server/auth/router.js +1 -1
  111. package/dist/esm/server/auth/router.js.map +1 -1
  112. package/dist/esm/server/streamableHttp.d.ts +13 -1
  113. package/dist/esm/server/streamableHttp.d.ts.map +1 -1
  114. package/dist/esm/server/streamableHttp.js +4 -1
  115. package/dist/esm/server/streamableHttp.js.map +1 -1
  116. package/dist/esm/shared/auth.d.ts +3 -0
  117. package/dist/esm/shared/auth.d.ts.map +1 -1
  118. package/dist/esm/shared/auth.js +1 -0
  119. package/dist/esm/shared/auth.js.map +1 -1
  120. package/dist/esm/shared/protocol.d.ts +8 -0
  121. package/dist/esm/shared/protocol.d.ts.map +1 -1
  122. package/dist/esm/shared/protocol.js +37 -0
  123. package/dist/esm/shared/protocol.js.map +1 -1
  124. package/package.json +3 -2
@@ -1,23 +1,156 @@
1
1
  import pkceChallenge from "pkce-challenge";
2
2
  import { LATEST_PROTOCOL_VERSION } from "../types.js";
3
+ import { OAuthErrorResponseSchema } from "../shared/auth.js";
3
4
  import { OAuthClientInformationFullSchema, OAuthMetadataSchema, OAuthProtectedResourceMetadataSchema, OAuthTokensSchema } from "../shared/auth.js";
4
5
  import { checkResourceAllowed, resourceUrlFromServerUrl } from "../shared/auth-utils.js";
6
+ import { InvalidClientError, InvalidGrantError, OAUTH_ERRORS, OAuthError, ServerError, UnauthorizedClientError } from "../server/auth/errors.js";
5
7
  export class UnauthorizedError extends Error {
6
8
  constructor(message) {
7
9
  super(message !== null && message !== void 0 ? message : "Unauthorized");
8
10
  }
9
11
  }
12
+ /**
13
+ * Determines the best client authentication method to use based on server support and client configuration.
14
+ *
15
+ * Priority order (highest to lowest):
16
+ * 1. client_secret_basic (if client secret is available)
17
+ * 2. client_secret_post (if client secret is available)
18
+ * 3. none (for public clients)
19
+ *
20
+ * @param clientInformation - OAuth client information containing credentials
21
+ * @param supportedMethods - Authentication methods supported by the authorization server
22
+ * @returns The selected authentication method
23
+ */
24
+ function selectClientAuthMethod(clientInformation, supportedMethods) {
25
+ const hasClientSecret = clientInformation.client_secret !== undefined;
26
+ // If server doesn't specify supported methods, use RFC 6749 defaults
27
+ if (supportedMethods.length === 0) {
28
+ return hasClientSecret ? "client_secret_post" : "none";
29
+ }
30
+ // Try methods in priority order (most secure first)
31
+ if (hasClientSecret && supportedMethods.includes("client_secret_basic")) {
32
+ return "client_secret_basic";
33
+ }
34
+ if (hasClientSecret && supportedMethods.includes("client_secret_post")) {
35
+ return "client_secret_post";
36
+ }
37
+ if (supportedMethods.includes("none")) {
38
+ return "none";
39
+ }
40
+ // Fallback: use what we have
41
+ return hasClientSecret ? "client_secret_post" : "none";
42
+ }
43
+ /**
44
+ * Applies client authentication to the request based on the specified method.
45
+ *
46
+ * Implements OAuth 2.1 client authentication methods:
47
+ * - client_secret_basic: HTTP Basic authentication (RFC 6749 Section 2.3.1)
48
+ * - client_secret_post: Credentials in request body (RFC 6749 Section 2.3.1)
49
+ * - none: Public client authentication (RFC 6749 Section 2.1)
50
+ *
51
+ * @param method - The authentication method to use
52
+ * @param clientInformation - OAuth client information containing credentials
53
+ * @param headers - HTTP headers object to modify
54
+ * @param params - URL search parameters to modify
55
+ * @throws {Error} When required credentials are missing
56
+ */
57
+ function applyClientAuthentication(method, clientInformation, headers, params) {
58
+ const { client_id, client_secret } = clientInformation;
59
+ switch (method) {
60
+ case "client_secret_basic":
61
+ applyBasicAuth(client_id, client_secret, headers);
62
+ return;
63
+ case "client_secret_post":
64
+ applyPostAuth(client_id, client_secret, params);
65
+ return;
66
+ case "none":
67
+ applyPublicAuth(client_id, params);
68
+ return;
69
+ default:
70
+ throw new Error(`Unsupported client authentication method: ${method}`);
71
+ }
72
+ }
73
+ /**
74
+ * Applies HTTP Basic authentication (RFC 6749 Section 2.3.1)
75
+ */
76
+ function applyBasicAuth(clientId, clientSecret, headers) {
77
+ if (!clientSecret) {
78
+ throw new Error("client_secret_basic authentication requires a client_secret");
79
+ }
80
+ const credentials = btoa(`${clientId}:${clientSecret}`);
81
+ headers.set("Authorization", `Basic ${credentials}`);
82
+ }
83
+ /**
84
+ * Applies POST body authentication (RFC 6749 Section 2.3.1)
85
+ */
86
+ function applyPostAuth(clientId, clientSecret, params) {
87
+ params.set("client_id", clientId);
88
+ if (clientSecret) {
89
+ params.set("client_secret", clientSecret);
90
+ }
91
+ }
92
+ /**
93
+ * Applies public client authentication (RFC 6749 Section 2.1)
94
+ */
95
+ function applyPublicAuth(clientId, params) {
96
+ params.set("client_id", clientId);
97
+ }
98
+ /**
99
+ * Parses an OAuth error response from a string or Response object.
100
+ *
101
+ * If the input is a standard OAuth2.0 error response, it will be parsed according to the spec
102
+ * and an instance of the appropriate OAuthError subclass will be returned.
103
+ * If parsing fails, it falls back to a generic ServerError that includes
104
+ * the response status (if available) and original content.
105
+ *
106
+ * @param input - A Response object or string containing the error response
107
+ * @returns A Promise that resolves to an OAuthError instance
108
+ */
109
+ export async function parseErrorResponse(input) {
110
+ const statusCode = input instanceof Response ? input.status : undefined;
111
+ const body = input instanceof Response ? await input.text() : input;
112
+ try {
113
+ const result = OAuthErrorResponseSchema.parse(JSON.parse(body));
114
+ const { error, error_description, error_uri } = result;
115
+ const errorClass = OAUTH_ERRORS[error] || ServerError;
116
+ return new errorClass(error_description || '', error_uri);
117
+ }
118
+ catch (error) {
119
+ // Not a valid OAuth error response, but try to inform the user of the raw data anyway
120
+ const errorMessage = `${statusCode ? `HTTP ${statusCode}: ` : ''}Invalid OAuth error response: ${error}. Raw body: ${body}`;
121
+ return new ServerError(errorMessage);
122
+ }
123
+ }
10
124
  /**
11
125
  * Orchestrates the full auth flow with a server.
12
126
  *
13
127
  * This can be used as a single entry point for all authorization functionality,
14
128
  * instead of linking together the other lower-level functions in this module.
15
129
  */
16
- export async function auth(provider, { serverUrl, authorizationCode, scope, resourceMetadataUrl }) {
130
+ export async function auth(provider, options) {
131
+ var _a, _b;
132
+ try {
133
+ return await authInternal(provider, options);
134
+ }
135
+ catch (error) {
136
+ // Handle recoverable error types by invalidating credentials and retrying
137
+ if (error instanceof InvalidClientError || error instanceof UnauthorizedClientError) {
138
+ await ((_a = provider.invalidateCredentials) === null || _a === void 0 ? void 0 : _a.call(provider, 'all'));
139
+ return await authInternal(provider, options);
140
+ }
141
+ else if (error instanceof InvalidGrantError) {
142
+ await ((_b = provider.invalidateCredentials) === null || _b === void 0 ? void 0 : _b.call(provider, 'tokens'));
143
+ return await authInternal(provider, options);
144
+ }
145
+ // Throw otherwise
146
+ throw error;
147
+ }
148
+ }
149
+ async function authInternal(provider, { serverUrl, authorizationCode, scope, resourceMetadataUrl, fetchFn, }) {
17
150
  let resourceMetadata;
18
151
  let authorizationServerUrl = serverUrl;
19
152
  try {
20
- resourceMetadata = await discoverOAuthProtectedResourceMetadata(serverUrl, { resourceMetadataUrl });
153
+ resourceMetadata = await discoverOAuthProtectedResourceMetadata(serverUrl, { resourceMetadataUrl }, fetchFn);
21
154
  if (resourceMetadata.authorization_servers && resourceMetadata.authorization_servers.length > 0) {
22
155
  authorizationServerUrl = resourceMetadata.authorization_servers[0];
23
156
  }
@@ -26,7 +159,9 @@ export async function auth(provider, { serverUrl, authorizationCode, scope, reso
26
159
  // Ignore errors and fall back to /.well-known/oauth-authorization-server
27
160
  }
28
161
  const resource = await selectResourceURL(serverUrl, provider, resourceMetadata);
29
- const metadata = await discoverOAuthMetadata(authorizationServerUrl);
162
+ const metadata = await discoverOAuthMetadata(serverUrl, {
163
+ authorizationServerUrl
164
+ }, fetchFn);
30
165
  // Handle client registration if needed
31
166
  let clientInformation = await Promise.resolve(provider.clientInformation());
32
167
  if (!clientInformation) {
@@ -53,6 +188,8 @@ export async function auth(provider, { serverUrl, authorizationCode, scope, reso
53
188
  codeVerifier,
54
189
  redirectUri: provider.redirectUrl,
55
190
  resource,
191
+ addClientAuthentication: provider.addClientAuthentication,
192
+ fetchFn: fetchFn,
56
193
  });
57
194
  await provider.saveTokens(tokens);
58
195
  return "AUTHORIZED";
@@ -67,12 +204,20 @@ export async function auth(provider, { serverUrl, authorizationCode, scope, reso
67
204
  clientInformation,
68
205
  refreshToken: tokens.refresh_token,
69
206
  resource,
207
+ addClientAuthentication: provider.addClientAuthentication,
70
208
  });
71
209
  await provider.saveTokens(newTokens);
72
210
  return "AUTHORIZED";
73
211
  }
74
- catch (_b) {
75
- // Could not refresh OAuth tokens
212
+ catch (error) {
213
+ // 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.
214
+ if (!(error instanceof OAuthError) || error instanceof ServerError) {
215
+ // Could not refresh OAuth tokens
216
+ }
217
+ else {
218
+ // Refresh failed for another reason, re-throw
219
+ throw error;
220
+ }
76
221
  }
77
222
  }
78
223
  const state = provider.state ? await provider.state() : undefined;
@@ -136,33 +281,12 @@ export function extractResourceMetadataUrl(res) {
136
281
  * If the server returns a 404 for the well-known endpoint, this function will
137
282
  * return `undefined`. Any other errors will be thrown as exceptions.
138
283
  */
139
- export async function discoverOAuthProtectedResourceMetadata(serverUrl, opts) {
140
- var _a;
141
- let url;
142
- if (opts === null || opts === void 0 ? void 0 : opts.resourceMetadataUrl) {
143
- url = new URL(opts === null || opts === void 0 ? void 0 : opts.resourceMetadataUrl);
144
- }
145
- else {
146
- url = new URL("/.well-known/oauth-protected-resource", serverUrl);
147
- }
148
- let response;
149
- try {
150
- response = await fetch(url, {
151
- headers: {
152
- "MCP-Protocol-Version": (_a = opts === null || opts === void 0 ? void 0 : opts.protocolVersion) !== null && _a !== void 0 ? _a : LATEST_PROTOCOL_VERSION
153
- }
154
- });
155
- }
156
- catch (error) {
157
- // CORS errors come back as TypeError
158
- if (error instanceof TypeError) {
159
- response = await fetch(url);
160
- }
161
- else {
162
- throw error;
163
- }
164
- }
165
- if (response.status === 404) {
284
+ export async function discoverOAuthProtectedResourceMetadata(serverUrl, opts, fetchFn = fetch) {
285
+ const response = await discoverMetadataWithFallback(serverUrl, 'oauth-protected-resource', fetchFn, {
286
+ protocolVersion: opts === null || opts === void 0 ? void 0 : opts.protocolVersion,
287
+ metadataUrl: opts === null || opts === void 0 ? void 0 : opts.resourceMetadataUrl,
288
+ });
289
+ if (!response || response.status === 404) {
166
290
  throw new Error(`Resource server does not implement OAuth 2.0 Protected Resource Metadata.`);
167
291
  }
168
292
  if (!response.ok) {
@@ -173,15 +297,15 @@ export async function discoverOAuthProtectedResourceMetadata(serverUrl, opts) {
173
297
  /**
174
298
  * Helper function to handle fetch with CORS retry logic
175
299
  */
176
- async function fetchWithCorsRetry(url, headers) {
300
+ async function fetchWithCorsRetry(url, headers, fetchFn = fetch) {
177
301
  try {
178
- return await fetch(url, { headers });
302
+ return await fetchFn(url, { headers });
179
303
  }
180
304
  catch (error) {
181
305
  if (error instanceof TypeError) {
182
306
  if (headers) {
183
307
  // CORS errors come back as TypeError, retry without headers
184
- return fetchWithCorsRetry(url);
308
+ return fetchWithCorsRetry(url, undefined, fetchFn);
185
309
  }
186
310
  else {
187
311
  // We're getting CORS errors on retry too, return undefined
@@ -194,8 +318,8 @@ async function fetchWithCorsRetry(url, headers) {
194
318
  /**
195
319
  * Constructs the well-known path for OAuth metadata discovery
196
320
  */
197
- function buildWellKnownPath(pathname) {
198
- let wellKnownPath = `/.well-known/oauth-authorization-server${pathname}`;
321
+ function buildWellKnownPath(wellKnownPrefix, pathname) {
322
+ let wellKnownPath = `/.well-known/${wellKnownPrefix}${pathname}`;
199
323
  if (pathname.endsWith('/')) {
200
324
  // Strip trailing slash from pathname to avoid double slashes
201
325
  wellKnownPath = wellKnownPath.slice(0, -1);
@@ -205,11 +329,11 @@ function buildWellKnownPath(pathname) {
205
329
  /**
206
330
  * Tries to discover OAuth metadata at a specific URL
207
331
  */
208
- async function tryMetadataDiscovery(url, protocolVersion) {
332
+ async function tryMetadataDiscovery(url, protocolVersion, fetchFn = fetch) {
209
333
  const headers = {
210
334
  "MCP-Protocol-Version": protocolVersion
211
335
  };
212
- return await fetchWithCorsRetry(url, headers);
336
+ return await fetchWithCorsRetry(url, headers, fetchFn);
213
337
  }
214
338
  /**
215
339
  * Determines if fallback to root discovery should be attempted
@@ -217,25 +341,52 @@ async function tryMetadataDiscovery(url, protocolVersion) {
217
341
  function shouldAttemptFallback(response, pathname) {
218
342
  return !response || response.status === 404 && pathname !== '/';
219
343
  }
344
+ /**
345
+ * Generic function for discovering OAuth metadata with fallback support
346
+ */
347
+ async function discoverMetadataWithFallback(serverUrl, wellKnownType, fetchFn, opts) {
348
+ var _a, _b;
349
+ const issuer = new URL(serverUrl);
350
+ const protocolVersion = (_a = opts === null || opts === void 0 ? void 0 : opts.protocolVersion) !== null && _a !== void 0 ? _a : LATEST_PROTOCOL_VERSION;
351
+ let url;
352
+ if (opts === null || opts === void 0 ? void 0 : opts.metadataUrl) {
353
+ url = new URL(opts.metadataUrl);
354
+ }
355
+ else {
356
+ // Try path-aware discovery first
357
+ const wellKnownPath = buildWellKnownPath(wellKnownType, issuer.pathname);
358
+ url = new URL(wellKnownPath, (_b = opts === null || opts === void 0 ? void 0 : opts.metadataServerUrl) !== null && _b !== void 0 ? _b : issuer);
359
+ url.search = issuer.search;
360
+ }
361
+ let response = await tryMetadataDiscovery(url, protocolVersion, fetchFn);
362
+ // If path-aware discovery fails with 404 and we're not already at root, try fallback to root discovery
363
+ if (!(opts === null || opts === void 0 ? void 0 : opts.metadataUrl) && shouldAttemptFallback(response, issuer.pathname)) {
364
+ const rootUrl = new URL(`/.well-known/${wellKnownType}`, issuer);
365
+ response = await tryMetadataDiscovery(rootUrl, protocolVersion, fetchFn);
366
+ }
367
+ return response;
368
+ }
220
369
  /**
221
370
  * Looks up RFC 8414 OAuth 2.0 Authorization Server Metadata.
222
371
  *
223
372
  * If the server returns a 404 for the well-known endpoint, this function will
224
373
  * return `undefined`. Any other errors will be thrown as exceptions.
225
374
  */
226
- export async function discoverOAuthMetadata(authorizationServerUrl, opts) {
227
- var _a;
228
- const issuer = new URL(authorizationServerUrl);
229
- const protocolVersion = (_a = opts === null || opts === void 0 ? void 0 : opts.protocolVersion) !== null && _a !== void 0 ? _a : LATEST_PROTOCOL_VERSION;
230
- // Try path-aware discovery first (RFC 8414 compliant)
231
- const wellKnownPath = buildWellKnownPath(issuer.pathname);
232
- const pathAwareUrl = new URL(wellKnownPath, issuer);
233
- let response = await tryMetadataDiscovery(pathAwareUrl, protocolVersion);
234
- // If path-aware discovery fails with 404, try fallback to root discovery
235
- if (shouldAttemptFallback(response, issuer.pathname)) {
236
- const rootUrl = new URL("/.well-known/oauth-authorization-server", issuer);
237
- response = await tryMetadataDiscovery(rootUrl, protocolVersion);
375
+ export async function discoverOAuthMetadata(issuer, { authorizationServerUrl, protocolVersion, } = {}, fetchFn = fetch) {
376
+ if (typeof issuer === 'string') {
377
+ issuer = new URL(issuer);
378
+ }
379
+ if (!authorizationServerUrl) {
380
+ authorizationServerUrl = issuer;
381
+ }
382
+ if (typeof authorizationServerUrl === 'string') {
383
+ authorizationServerUrl = new URL(authorizationServerUrl);
238
384
  }
385
+ protocolVersion !== null && protocolVersion !== void 0 ? protocolVersion : (protocolVersion = LATEST_PROTOCOL_VERSION);
386
+ const response = await discoverMetadataWithFallback(authorizationServerUrl, 'oauth-authorization-server', fetchFn, {
387
+ protocolVersion,
388
+ metadataServerUrl: authorizationServerUrl,
389
+ });
239
390
  if (!response || response.status === 404) {
240
391
  return undefined;
241
392
  }
@@ -279,6 +430,12 @@ export async function startAuthorization(authorizationServerUrl, { metadata, cli
279
430
  if (scope) {
280
431
  authorizationUrl.searchParams.set("scope", scope);
281
432
  }
433
+ if (scope === null || scope === void 0 ? void 0 : scope.includes("offline_access")) {
434
+ // if the request includes the OIDC-only "offline_access" scope,
435
+ // we need to set the prompt to "consent" to ensure the user is prompted to grant offline access
436
+ // https://openid.net/specs/openid-connect-core-1_0.html#OfflineAccess
437
+ authorizationUrl.searchParams.append("prompt", "consent");
438
+ }
282
439
  if (resource) {
283
440
  authorizationUrl.searchParams.set("resource", resource.href);
284
441
  }
@@ -286,50 +443,72 @@ export async function startAuthorization(authorizationServerUrl, { metadata, cli
286
443
  }
287
444
  /**
288
445
  * Exchanges an authorization code for an access token with the given server.
446
+ *
447
+ * Supports multiple client authentication methods as specified in OAuth 2.1:
448
+ * - Automatically selects the best authentication method based on server support
449
+ * - Falls back to appropriate defaults when server metadata is unavailable
450
+ *
451
+ * @param authorizationServerUrl - The authorization server's base URL
452
+ * @param options - Configuration object containing client info, auth code, etc.
453
+ * @returns Promise resolving to OAuth tokens
454
+ * @throws {Error} When token exchange fails or authentication is invalid
289
455
  */
290
- export async function exchangeAuthorization(authorizationServerUrl, { metadata, clientInformation, authorizationCode, codeVerifier, redirectUri, resource, }) {
456
+ export async function exchangeAuthorization(authorizationServerUrl, { metadata, clientInformation, authorizationCode, codeVerifier, redirectUri, resource, addClientAuthentication, fetchFn, }) {
457
+ var _a;
291
458
  const grantType = "authorization_code";
292
- let tokenUrl;
293
- if (metadata) {
294
- tokenUrl = new URL(metadata.token_endpoint);
295
- if (metadata.grant_types_supported &&
296
- !metadata.grant_types_supported.includes(grantType)) {
297
- throw new Error(`Incompatible auth server: does not support grant type ${grantType}`);
298
- }
299
- }
300
- else {
301
- tokenUrl = new URL("/token", authorizationServerUrl);
459
+ const tokenUrl = (metadata === null || metadata === void 0 ? void 0 : metadata.token_endpoint)
460
+ ? new URL(metadata.token_endpoint)
461
+ : new URL("/token", authorizationServerUrl);
462
+ if ((metadata === null || metadata === void 0 ? void 0 : metadata.grant_types_supported) &&
463
+ !metadata.grant_types_supported.includes(grantType)) {
464
+ throw new Error(`Incompatible auth server: does not support grant type ${grantType}`);
302
465
  }
303
466
  // Exchange code for tokens
467
+ const headers = new Headers({
468
+ "Content-Type": "application/x-www-form-urlencoded",
469
+ });
304
470
  const params = new URLSearchParams({
305
471
  grant_type: grantType,
306
- client_id: clientInformation.client_id,
307
472
  code: authorizationCode,
308
473
  code_verifier: codeVerifier,
309
474
  redirect_uri: String(redirectUri),
310
475
  });
311
- if (clientInformation.client_secret) {
312
- params.set("client_secret", clientInformation.client_secret);
476
+ if (addClientAuthentication) {
477
+ addClientAuthentication(headers, params, authorizationServerUrl, metadata);
478
+ }
479
+ else {
480
+ // Determine and apply client authentication method
481
+ const supportedMethods = (_a = metadata === null || metadata === void 0 ? void 0 : metadata.token_endpoint_auth_methods_supported) !== null && _a !== void 0 ? _a : [];
482
+ const authMethod = selectClientAuthMethod(clientInformation, supportedMethods);
483
+ applyClientAuthentication(authMethod, clientInformation, headers, params);
313
484
  }
314
485
  if (resource) {
315
486
  params.set("resource", resource.href);
316
487
  }
317
- const response = await fetch(tokenUrl, {
488
+ const response = await (fetchFn !== null && fetchFn !== void 0 ? fetchFn : fetch)(tokenUrl, {
318
489
  method: "POST",
319
- headers: {
320
- "Content-Type": "application/x-www-form-urlencoded",
321
- },
490
+ headers,
322
491
  body: params,
323
492
  });
324
493
  if (!response.ok) {
325
- throw new Error(`Token exchange failed: HTTP ${response.status}`);
494
+ throw await parseErrorResponse(response);
326
495
  }
327
496
  return OAuthTokensSchema.parse(await response.json());
328
497
  }
329
498
  /**
330
499
  * Exchange a refresh token for an updated access token.
500
+ *
501
+ * Supports multiple client authentication methods as specified in OAuth 2.1:
502
+ * - Automatically selects the best authentication method based on server support
503
+ * - Preserves the original refresh token if a new one is not returned
504
+ *
505
+ * @param authorizationServerUrl - The authorization server's base URL
506
+ * @param options - Configuration object containing client info, refresh token, etc.
507
+ * @returns Promise resolving to OAuth tokens (preserves original refresh_token if not replaced)
508
+ * @throws {Error} When token refresh fails or authentication is invalid
331
509
  */
332
- export async function refreshAuthorization(authorizationServerUrl, { metadata, clientInformation, refreshToken, resource, }) {
510
+ export async function refreshAuthorization(authorizationServerUrl, { metadata, clientInformation, refreshToken, resource, addClientAuthentication, fetchFn, }) {
511
+ var _a;
333
512
  const grantType = "refresh_token";
334
513
  let tokenUrl;
335
514
  if (metadata) {
@@ -343,33 +522,39 @@ export async function refreshAuthorization(authorizationServerUrl, { metadata, c
343
522
  tokenUrl = new URL("/token", authorizationServerUrl);
344
523
  }
345
524
  // Exchange refresh token
525
+ const headers = new Headers({
526
+ "Content-Type": "application/x-www-form-urlencoded",
527
+ });
346
528
  const params = new URLSearchParams({
347
529
  grant_type: grantType,
348
- client_id: clientInformation.client_id,
349
530
  refresh_token: refreshToken,
350
531
  });
351
- if (clientInformation.client_secret) {
352
- params.set("client_secret", clientInformation.client_secret);
532
+ if (addClientAuthentication) {
533
+ addClientAuthentication(headers, params, authorizationServerUrl, metadata);
534
+ }
535
+ else {
536
+ // Determine and apply client authentication method
537
+ const supportedMethods = (_a = metadata === null || metadata === void 0 ? void 0 : metadata.token_endpoint_auth_methods_supported) !== null && _a !== void 0 ? _a : [];
538
+ const authMethod = selectClientAuthMethod(clientInformation, supportedMethods);
539
+ applyClientAuthentication(authMethod, clientInformation, headers, params);
353
540
  }
354
541
  if (resource) {
355
542
  params.set("resource", resource.href);
356
543
  }
357
- const response = await fetch(tokenUrl, {
544
+ const response = await (fetchFn !== null && fetchFn !== void 0 ? fetchFn : fetch)(tokenUrl, {
358
545
  method: "POST",
359
- headers: {
360
- "Content-Type": "application/x-www-form-urlencoded",
361
- },
546
+ headers,
362
547
  body: params,
363
548
  });
364
549
  if (!response.ok) {
365
- throw new Error(`Token refresh failed: HTTP ${response.status}`);
550
+ throw await parseErrorResponse(response);
366
551
  }
367
552
  return OAuthTokensSchema.parse({ refresh_token: refreshToken, ...(await response.json()) });
368
553
  }
369
554
  /**
370
555
  * Performs OAuth 2.0 Dynamic Client Registration according to RFC 7591.
371
556
  */
372
- export async function registerClient(authorizationServerUrl, { metadata, clientMetadata, }) {
557
+ export async function registerClient(authorizationServerUrl, { metadata, clientMetadata, fetchFn, }) {
373
558
  let registrationUrl;
374
559
  if (metadata) {
375
560
  if (!metadata.registration_endpoint) {
@@ -380,7 +565,7 @@ export async function registerClient(authorizationServerUrl, { metadata, clientM
380
565
  else {
381
566
  registrationUrl = new URL("/register", authorizationServerUrl);
382
567
  }
383
- const response = await fetch(registrationUrl, {
568
+ const response = await (fetchFn !== null && fetchFn !== void 0 ? fetchFn : fetch)(registrationUrl, {
384
569
  method: "POST",
385
570
  headers: {
386
571
  "Content-Type": "application/json",
@@ -388,7 +573,7 @@ export async function registerClient(authorizationServerUrl, { metadata, clientM
388
573
  body: JSON.stringify(clientMetadata),
389
574
  });
390
575
  if (!response.ok) {
391
- throw new Error(`Dynamic client registration failed: HTTP ${response.status}`);
576
+ throw await parseErrorResponse(response);
392
577
  }
393
578
  return OAuthClientInformationFullSchema.parse(await response.json());
394
579
  }
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../../src/client/sse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAgD,mBAAmB,EAAqB,MAAM,WAAW,CAAC;AAEjH,qBAAa,QAAS,SAAQ,KAAK;aAEf,IAAI,EAAE,MAAM,GAAG,SAAS;aAExB,KAAK,EAAE,UAAU;gBAFjB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxC,OAAO,EAAE,MAAM,GAAG,SAAS,EACX,KAAK,EAAE,UAAU;CAIpC;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAEnC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,SAAS;IAClD,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,SAAS,CAAC,CAAM;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,oBAAoB,CAAC,CAAM;IACnC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,aAAa,CAAC,CAAsB;IAC5C,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAElC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;gBAG5C,GAAG,EAAE,GAAG,EACR,IAAI,CAAC,EAAE,yBAAyB;YAUpB,cAAc;YAoBd,cAAc;IAiB5B,OAAO,CAAC,YAAY;IA+Ed,KAAK;IAUX;;OAEG;IACG,UAAU,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2ClD,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAG1C"}
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../../src/client/sse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAwB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAgD,mBAAmB,EAAqB,MAAM,WAAW,CAAC;AAEjH,qBAAa,QAAS,SAAQ,KAAK;aAEf,IAAI,EAAE,MAAM,GAAG,SAAS;aAExB,KAAK,EAAE,UAAU;gBAFjB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxC,OAAO,EAAE,MAAM,GAAG,SAAS,EACX,KAAK,EAAE,UAAU;CAIpC;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAEnC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,SAAS;IAClD,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,SAAS,CAAC,CAAM;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,oBAAoB,CAAC,CAAM;IACnC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,aAAa,CAAC,CAAsB;IAC5C,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAElC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;gBAG5C,GAAG,EAAE,GAAG,EACR,IAAI,CAAC,EAAE,yBAAyB;YAUpB,cAAc;YAoBd,cAAc;IAiB5B,OAAO,CAAC,YAAY;IA6Ed,KAAK;IAUX;;OAEG;IACG,UAAU,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0ClD,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAG1C"}