fastmcp 4.20.17 → 4.21.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 CHANGED
@@ -633,7 +633,9 @@ server.addTool({
633
633
 
634
634
  Works for `outputSchema` too. Note that FastMCP advertises input schemas with
635
635
  `additionalProperties: false`, whatever your schema said — the same treatment
636
- Zod and Valibot schemas get. Output schemas keep whatever additional-properties
636
+ Zod and Valibot schemas get. The exception is a dictionary (an object with no
637
+ `properties` and an `additionalProperties` schema, like `z.record()`), which
638
+ keeps its value schema. Output schemas keep whatever additional-properties
637
639
  rule your schema declared.
638
640
 
639
641
  Unlike the schema libraries above, a plain JSON Schema carries no TypeScript
package/dist/FastMCP.cjs CHANGED
@@ -11,7 +11,7 @@
11
11
 
12
12
 
13
13
 
14
- var _chunk3V4NDT6Bcjs = require('./chunk-3V4NDT6B.cjs');
14
+ var _chunkJ5E7VICRcjs = require('./chunk-J5E7VICR.cjs');
15
15
 
16
16
 
17
17
 
@@ -24,7 +24,7 @@ var _chunk3V4NDT6Bcjs = require('./chunk-3V4NDT6B.cjs');
24
24
 
25
25
 
26
26
 
27
- var _chunkBTXI2HQScjs = require('./chunk-BTXI2HQS.cjs');
27
+ var _chunkGTPK7A57cjs = require('./chunk-GTPK7A57.cjs');
28
28
 
29
29
 
30
30
 
@@ -49,5 +49,5 @@ var _chunkBTXI2HQScjs = require('./chunk-BTXI2HQS.cjs');
49
49
 
50
50
 
51
51
 
52
- exports.AuthProvider = _chunkBTXI2HQScjs.AuthProvider; exports.AzureProvider = _chunkBTXI2HQScjs.AzureProvider; exports.DiscoveryDocumentCache = _chunk3V4NDT6Bcjs.DiscoveryDocumentCache; exports.FastMCP = _chunk3V4NDT6Bcjs.FastMCP; exports.FastMCPError = _chunk3V4NDT6Bcjs.FastMCPError; exports.FastMCPSession = _chunk3V4NDT6Bcjs.FastMCPSession; exports.GitHubProvider = _chunkBTXI2HQScjs.GitHubProvider; exports.GoogleProvider = _chunkBTXI2HQScjs.GoogleProvider; exports.MEDIA_FETCH_TIMEOUT_MS = _chunk3V4NDT6Bcjs.MEDIA_FETCH_TIMEOUT_MS; exports.OAuthProvider = _chunkBTXI2HQScjs.OAuthProvider; exports.ServerState = _chunk3V4NDT6Bcjs.ServerState; exports.SessionError = _chunk3V4NDT6Bcjs.SessionError; exports.UnexpectedStateError = _chunk3V4NDT6Bcjs.UnexpectedStateError; exports.UserError = _chunk3V4NDT6Bcjs.UserError; exports.audioContent = _chunk3V4NDT6Bcjs.audioContent; exports.getAuthSession = _chunkBTXI2HQScjs.getAuthSession; exports.imageContent = _chunk3V4NDT6Bcjs.imageContent; exports.jsonSchemaAdapter = _chunk3V4NDT6Bcjs.jsonSchemaAdapter; exports.requireAll = _chunkBTXI2HQScjs.requireAll; exports.requireAny = _chunkBTXI2HQScjs.requireAny; exports.requireAuth = _chunkBTXI2HQScjs.requireAuth; exports.requireRole = _chunkBTXI2HQScjs.requireRole; exports.requireScopes = _chunkBTXI2HQScjs.requireScopes;
52
+ exports.AuthProvider = _chunkGTPK7A57cjs.AuthProvider; exports.AzureProvider = _chunkGTPK7A57cjs.AzureProvider; exports.DiscoveryDocumentCache = _chunkJ5E7VICRcjs.DiscoveryDocumentCache; exports.FastMCP = _chunkJ5E7VICRcjs.FastMCP; exports.FastMCPError = _chunkJ5E7VICRcjs.FastMCPError; exports.FastMCPSession = _chunkJ5E7VICRcjs.FastMCPSession; exports.GitHubProvider = _chunkGTPK7A57cjs.GitHubProvider; exports.GoogleProvider = _chunkGTPK7A57cjs.GoogleProvider; exports.MEDIA_FETCH_TIMEOUT_MS = _chunkJ5E7VICRcjs.MEDIA_FETCH_TIMEOUT_MS; exports.OAuthProvider = _chunkGTPK7A57cjs.OAuthProvider; exports.ServerState = _chunkJ5E7VICRcjs.ServerState; exports.SessionError = _chunkJ5E7VICRcjs.SessionError; exports.UnexpectedStateError = _chunkJ5E7VICRcjs.UnexpectedStateError; exports.UserError = _chunkJ5E7VICRcjs.UserError; exports.audioContent = _chunkJ5E7VICRcjs.audioContent; exports.getAuthSession = _chunkGTPK7A57cjs.getAuthSession; exports.imageContent = _chunkJ5E7VICRcjs.imageContent; exports.jsonSchemaAdapter = _chunkJ5E7VICRcjs.jsonSchemaAdapter; exports.requireAll = _chunkGTPK7A57cjs.requireAll; exports.requireAny = _chunkGTPK7A57cjs.requireAny; exports.requireAuth = _chunkGTPK7A57cjs.requireAuth; exports.requireRole = _chunkGTPK7A57cjs.requireRole; exports.requireScopes = _chunkGTPK7A57cjs.requireScopes;
53
53
  //# sourceMappingURL=FastMCP.cjs.map
@@ -12,8 +12,8 @@ import { CorsOptions } from 'mcp-proxy';
12
12
  export { CorsOptions } from 'mcp-proxy';
13
13
  import { StrictEventEmitter } from 'strict-event-emitter-types';
14
14
  import { z } from 'zod';
15
- import { A as AuthProvider, O as OAuthSession, a as OAuthProxy } from './OAuthProvider-Dy1PbWAT.cjs';
16
- export { j as AuthProviderConfig, b as AzureProvider, k as AzureProviderConfig, l as AzureSession, m as GenericOAuthProviderConfig, G as GitHubProvider, n as GitHubSession, c as GoogleProvider, o as GoogleSession, d as OAuthProvider, g as getAuthSession, r as requireAll, e as requireAny, f as requireAuth, h as requireRole, i as requireScopes } from './OAuthProvider-Dy1PbWAT.cjs';
15
+ import { A as AuthProvider, O as OAuthSession, a as OAuthProxy } from './OAuthProvider-C4idKF29.cjs';
16
+ export { j as AuthProviderConfig, b as AzureProvider, k as AzureProviderConfig, l as AzureSession, m as GenericOAuthProviderConfig, G as GitHubProvider, n as GitHubSession, c as GoogleProvider, o as GoogleSession, d as OAuthProvider, g as getAuthSession, r as requireAll, e as requireAny, f as requireAuth, h as requireRole, i as requireScopes } from './OAuthProvider-C4idKF29.cjs';
17
17
  import 'node:http';
18
18
 
19
19
  declare class DiscoveryDocumentCache {
@@ -503,6 +503,7 @@ type ServerOptions<T extends FastMCPSessionAuth> = {
503
503
  */
504
504
  authorizationServer?: {
505
505
  authorizationEndpoint: string;
506
+ authorizationResponseIssParameterSupported?: boolean;
506
507
  clientIdMetadataDocumentSupported?: boolean;
507
508
  codeChallengeMethodsSupported?: string[];
508
509
  dpopSigningAlgValuesSupported?: string[];
package/dist/FastMCP.d.ts CHANGED
@@ -12,8 +12,8 @@ import { CorsOptions } from 'mcp-proxy';
12
12
  export { CorsOptions } from 'mcp-proxy';
13
13
  import { StrictEventEmitter } from 'strict-event-emitter-types';
14
14
  import { z } from 'zod';
15
- import { A as AuthProvider, O as OAuthSession, a as OAuthProxy } from './OAuthProvider-Dy1PbWAT.js';
16
- export { j as AuthProviderConfig, b as AzureProvider, k as AzureProviderConfig, l as AzureSession, m as GenericOAuthProviderConfig, G as GitHubProvider, n as GitHubSession, c as GoogleProvider, o as GoogleSession, d as OAuthProvider, g as getAuthSession, r as requireAll, e as requireAny, f as requireAuth, h as requireRole, i as requireScopes } from './OAuthProvider-Dy1PbWAT.js';
15
+ import { A as AuthProvider, O as OAuthSession, a as OAuthProxy } from './OAuthProvider-C4idKF29.js';
16
+ export { j as AuthProviderConfig, b as AzureProvider, k as AzureProviderConfig, l as AzureSession, m as GenericOAuthProviderConfig, G as GitHubProvider, n as GitHubSession, c as GoogleProvider, o as GoogleSession, d as OAuthProvider, g as getAuthSession, r as requireAll, e as requireAny, f as requireAuth, h as requireRole, i as requireScopes } from './OAuthProvider-C4idKF29.js';
17
17
  import 'node:http';
18
18
 
19
19
  declare class DiscoveryDocumentCache {
@@ -503,6 +503,7 @@ type ServerOptions<T extends FastMCPSessionAuth> = {
503
503
  */
504
504
  authorizationServer?: {
505
505
  authorizationEndpoint: string;
506
+ authorizationResponseIssParameterSupported?: boolean;
506
507
  clientIdMetadataDocumentSupported?: boolean;
507
508
  codeChallengeMethodsSupported?: string[];
508
509
  dpopSigningAlgValuesSupported?: string[];
package/dist/FastMCP.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  audioContent,
12
12
  imageContent,
13
13
  jsonSchemaAdapter
14
- } from "./chunk-XFDX4BNP.js";
14
+ } from "./chunk-XQ2CLYB3.js";
15
15
  import {
16
16
  AuthProvider,
17
17
  AzureProvider,
@@ -24,7 +24,7 @@ import {
24
24
  requireAuth,
25
25
  requireRole,
26
26
  requireScopes
27
- } from "./chunk-YRIK6EIY.js";
27
+ } from "./chunk-AR3LVWUF.js";
28
28
  export {
29
29
  AuthProvider,
30
30
  AzureProvider,
@@ -223,6 +223,13 @@ interface OAuthProxyConfig {
223
223
  allowPlainPkce?: boolean;
224
224
  /** Authorization code TTL in seconds (default: 300) */
225
225
  authorizationCodeTtl?: number;
226
+ /**
227
+ * Add `iss` to authorization responses and advertise
228
+ * `authorization_response_iss_parameter_supported` (RFC 9207; default: true).
229
+ * Note that ChatGPT uses its stable callback URI only for servers that
230
+ * advertise it, and a per-connector one otherwise.
231
+ */
232
+ authorizationResponseIss?: boolean;
226
233
  /** Base URL of this proxy server */
227
234
  baseUrl: string;
228
235
  /** Require user consent (default: true) */
@@ -537,6 +544,7 @@ declare class OAuthProxy {
537
544
  */
538
545
  getAuthorizationServerMetadata(): {
539
546
  authorizationEndpoint: string;
547
+ authorizationResponseIssParameterSupported?: boolean;
540
548
  clientIdMetadataDocumentSupported?: boolean;
541
549
  codeChallengeMethodsSupported?: string[];
542
550
  dpopSigningAlgValuesSupported?: string[];
@@ -223,6 +223,13 @@ interface OAuthProxyConfig {
223
223
  allowPlainPkce?: boolean;
224
224
  /** Authorization code TTL in seconds (default: 300) */
225
225
  authorizationCodeTtl?: number;
226
+ /**
227
+ * Add `iss` to authorization responses and advertise
228
+ * `authorization_response_iss_parameter_supported` (RFC 9207; default: true).
229
+ * Note that ChatGPT uses its stable callback URI only for servers that
230
+ * advertise it, and a per-connector one otherwise.
231
+ */
232
+ authorizationResponseIss?: boolean;
226
233
  /** Base URL of this proxy server */
227
234
  baseUrl: string;
228
235
  /** Require user consent (default: true) */
@@ -537,6 +544,7 @@ declare class OAuthProxy {
537
544
  */
538
545
  getAuthorizationServerMetadata(): {
539
546
  authorizationEndpoint: string;
547
+ authorizationResponseIssParameterSupported?: boolean;
540
548
  clientIdMetadataDocumentSupported?: boolean;
541
549
  codeChallengeMethodsSupported?: string[];
542
550
  dpopSigningAlgValuesSupported?: string[];
@@ -24,7 +24,7 @@
24
24
 
25
25
 
26
26
 
27
- var _chunkBTXI2HQScjs = require('../chunk-BTXI2HQS.cjs');
27
+ var _chunkGTPK7A57cjs = require('../chunk-GTPK7A57.cjs');
28
28
 
29
29
 
30
30
 
@@ -51,5 +51,5 @@ var _chunkBTXI2HQScjs = require('../chunk-BTXI2HQS.cjs');
51
51
 
52
52
 
53
53
 
54
- exports.AuthProvider = _chunkBTXI2HQScjs.AuthProvider; exports.AzureProvider = _chunkBTXI2HQScjs.AzureProvider; exports.ConsentManager = _chunkBTXI2HQScjs.ConsentManager; exports.DEFAULT_ACCESS_TOKEN_TTL = _chunkBTXI2HQScjs.DEFAULT_ACCESS_TOKEN_TTL; exports.DEFAULT_ACCESS_TOKEN_TTL_NO_REFRESH = _chunkBTXI2HQScjs.DEFAULT_ACCESS_TOKEN_TTL_NO_REFRESH; exports.DEFAULT_AUTHORIZATION_CODE_TTL = _chunkBTXI2HQScjs.DEFAULT_AUTHORIZATION_CODE_TTL; exports.DEFAULT_REFRESH_TOKEN_TTL = _chunkBTXI2HQScjs.DEFAULT_REFRESH_TOKEN_TTL; exports.DEFAULT_TRANSACTION_TTL = _chunkBTXI2HQScjs.DEFAULT_TRANSACTION_TTL; exports.DiskStore = _chunkBTXI2HQScjs.DiskStore; exports.EncryptedTokenStorage = _chunkBTXI2HQScjs.EncryptedTokenStorage; exports.GitHubProvider = _chunkBTXI2HQScjs.GitHubProvider; exports.GoogleProvider = _chunkBTXI2HQScjs.GoogleProvider; exports.JWKSVerifier = _chunkBTXI2HQScjs.JWKSVerifier; exports.JWTIssuer = _chunkBTXI2HQScjs.JWTIssuer; exports.MemoryTokenStorage = _chunkBTXI2HQScjs.MemoryTokenStorage; exports.OAuthProvider = _chunkBTXI2HQScjs.OAuthProvider; exports.OAuthProxy = _chunkBTXI2HQScjs.OAuthProxy; exports.OAuthProxyError = _chunkBTXI2HQScjs.OAuthProxyError; exports.PKCEUtils = _chunkBTXI2HQScjs.PKCEUtils; exports.getAuthSession = _chunkBTXI2HQScjs.getAuthSession; exports.requireAll = _chunkBTXI2HQScjs.requireAll; exports.requireAny = _chunkBTXI2HQScjs.requireAny; exports.requireAuth = _chunkBTXI2HQScjs.requireAuth; exports.requireRole = _chunkBTXI2HQScjs.requireRole; exports.requireScopes = _chunkBTXI2HQScjs.requireScopes;
54
+ exports.AuthProvider = _chunkGTPK7A57cjs.AuthProvider; exports.AzureProvider = _chunkGTPK7A57cjs.AzureProvider; exports.ConsentManager = _chunkGTPK7A57cjs.ConsentManager; exports.DEFAULT_ACCESS_TOKEN_TTL = _chunkGTPK7A57cjs.DEFAULT_ACCESS_TOKEN_TTL; exports.DEFAULT_ACCESS_TOKEN_TTL_NO_REFRESH = _chunkGTPK7A57cjs.DEFAULT_ACCESS_TOKEN_TTL_NO_REFRESH; exports.DEFAULT_AUTHORIZATION_CODE_TTL = _chunkGTPK7A57cjs.DEFAULT_AUTHORIZATION_CODE_TTL; exports.DEFAULT_REFRESH_TOKEN_TTL = _chunkGTPK7A57cjs.DEFAULT_REFRESH_TOKEN_TTL; exports.DEFAULT_TRANSACTION_TTL = _chunkGTPK7A57cjs.DEFAULT_TRANSACTION_TTL; exports.DiskStore = _chunkGTPK7A57cjs.DiskStore; exports.EncryptedTokenStorage = _chunkGTPK7A57cjs.EncryptedTokenStorage; exports.GitHubProvider = _chunkGTPK7A57cjs.GitHubProvider; exports.GoogleProvider = _chunkGTPK7A57cjs.GoogleProvider; exports.JWKSVerifier = _chunkGTPK7A57cjs.JWKSVerifier; exports.JWTIssuer = _chunkGTPK7A57cjs.JWTIssuer; exports.MemoryTokenStorage = _chunkGTPK7A57cjs.MemoryTokenStorage; exports.OAuthProvider = _chunkGTPK7A57cjs.OAuthProvider; exports.OAuthProxy = _chunkGTPK7A57cjs.OAuthProxy; exports.OAuthProxyError = _chunkGTPK7A57cjs.OAuthProxyError; exports.PKCEUtils = _chunkGTPK7A57cjs.PKCEUtils; exports.getAuthSession = _chunkGTPK7A57cjs.getAuthSession; exports.requireAll = _chunkGTPK7A57cjs.requireAll; exports.requireAny = _chunkGTPK7A57cjs.requireAny; exports.requireAuth = _chunkGTPK7A57cjs.requireAuth; exports.requireRole = _chunkGTPK7A57cjs.requireRole; exports.requireScopes = _chunkGTPK7A57cjs.requireScopes;
55
55
  //# sourceMappingURL=index.cjs.map
@@ -1,5 +1,5 @@
1
- import { p as OAuthTransaction, C as ConsentData, T as TokenStorage, q as TokenVerifier, s as TokenVerificationResult, P as PKCEPair } from '../OAuthProvider-Dy1PbWAT.cjs';
2
- export { A as AuthProvider, j as AuthProviderConfig, y as AuthorizationParams, b as AzureProvider, k as AzureProviderConfig, l as AzureSession, z as ClientCode, B as DCRClientMetadata, E as DCRRequest, F as DCRResponse, D as DEFAULT_ACCESS_TOKEN_TTL, u as DEFAULT_ACCESS_TOKEN_TTL_NO_REFRESH, v as DEFAULT_AUTHORIZATION_CODE_TTL, w as DEFAULT_REFRESH_TOKEN_TTL, x as DEFAULT_TRANSACTION_TTL, m as GenericOAuthProviderConfig, G as GitHubProvider, n as GitHubSession, c as GoogleProvider, o as GoogleSession, H as OAuthError, d as OAuthProvider, I as OAuthProviderConfig, a as OAuthProxy, J as OAuthProxyConfig, t as OAuthProxyError, O as OAuthSession, K as ProxyDCRClient, R as RefreshRequest, L as TokenMapping, M as TokenRequest, N as TokenResponse, U as UpstreamTokenSet, g as getAuthSession, r as requireAll, e as requireAny, f as requireAuth, h as requireRole, i as requireScopes } from '../OAuthProvider-Dy1PbWAT.cjs';
1
+ import { p as OAuthTransaction, C as ConsentData, T as TokenStorage, q as TokenVerifier, s as TokenVerificationResult, P as PKCEPair } from '../OAuthProvider-C4idKF29.cjs';
2
+ export { A as AuthProvider, j as AuthProviderConfig, y as AuthorizationParams, b as AzureProvider, k as AzureProviderConfig, l as AzureSession, z as ClientCode, B as DCRClientMetadata, E as DCRRequest, F as DCRResponse, D as DEFAULT_ACCESS_TOKEN_TTL, u as DEFAULT_ACCESS_TOKEN_TTL_NO_REFRESH, v as DEFAULT_AUTHORIZATION_CODE_TTL, w as DEFAULT_REFRESH_TOKEN_TTL, x as DEFAULT_TRANSACTION_TTL, m as GenericOAuthProviderConfig, G as GitHubProvider, n as GitHubSession, c as GoogleProvider, o as GoogleSession, H as OAuthError, d as OAuthProvider, I as OAuthProviderConfig, a as OAuthProxy, J as OAuthProxyConfig, t as OAuthProxyError, O as OAuthSession, K as ProxyDCRClient, R as RefreshRequest, L as TokenMapping, M as TokenRequest, N as TokenResponse, U as UpstreamTokenSet, g as getAuthSession, r as requireAll, e as requireAny, f as requireAuth, h as requireRole, i as requireScopes } from '../OAuthProvider-C4idKF29.cjs';
3
3
  import 'node:http';
4
4
 
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { p as OAuthTransaction, C as ConsentData, T as TokenStorage, q as TokenVerifier, s as TokenVerificationResult, P as PKCEPair } from '../OAuthProvider-Dy1PbWAT.js';
2
- export { A as AuthProvider, j as AuthProviderConfig, y as AuthorizationParams, b as AzureProvider, k as AzureProviderConfig, l as AzureSession, z as ClientCode, B as DCRClientMetadata, E as DCRRequest, F as DCRResponse, D as DEFAULT_ACCESS_TOKEN_TTL, u as DEFAULT_ACCESS_TOKEN_TTL_NO_REFRESH, v as DEFAULT_AUTHORIZATION_CODE_TTL, w as DEFAULT_REFRESH_TOKEN_TTL, x as DEFAULT_TRANSACTION_TTL, m as GenericOAuthProviderConfig, G as GitHubProvider, n as GitHubSession, c as GoogleProvider, o as GoogleSession, H as OAuthError, d as OAuthProvider, I as OAuthProviderConfig, a as OAuthProxy, J as OAuthProxyConfig, t as OAuthProxyError, O as OAuthSession, K as ProxyDCRClient, R as RefreshRequest, L as TokenMapping, M as TokenRequest, N as TokenResponse, U as UpstreamTokenSet, g as getAuthSession, r as requireAll, e as requireAny, f as requireAuth, h as requireRole, i as requireScopes } from '../OAuthProvider-Dy1PbWAT.js';
1
+ import { p as OAuthTransaction, C as ConsentData, T as TokenStorage, q as TokenVerifier, s as TokenVerificationResult, P as PKCEPair } from '../OAuthProvider-C4idKF29.js';
2
+ export { A as AuthProvider, j as AuthProviderConfig, y as AuthorizationParams, b as AzureProvider, k as AzureProviderConfig, l as AzureSession, z as ClientCode, B as DCRClientMetadata, E as DCRRequest, F as DCRResponse, D as DEFAULT_ACCESS_TOKEN_TTL, u as DEFAULT_ACCESS_TOKEN_TTL_NO_REFRESH, v as DEFAULT_AUTHORIZATION_CODE_TTL, w as DEFAULT_REFRESH_TOKEN_TTL, x as DEFAULT_TRANSACTION_TTL, m as GenericOAuthProviderConfig, G as GitHubProvider, n as GitHubSession, c as GoogleProvider, o as GoogleSession, H as OAuthError, d as OAuthProvider, I as OAuthProviderConfig, a as OAuthProxy, J as OAuthProxyConfig, t as OAuthProxyError, O as OAuthSession, K as ProxyDCRClient, R as RefreshRequest, L as TokenMapping, M as TokenRequest, N as TokenResponse, U as UpstreamTokenSet, g as getAuthSession, r as requireAll, e as requireAny, f as requireAuth, h as requireRole, i as requireScopes } from '../OAuthProvider-C4idKF29.js';
3
3
  import 'node:http';
4
4
 
5
5
  /**
@@ -24,7 +24,7 @@ import {
24
24
  requireAuth,
25
25
  requireRole,
26
26
  requireScopes
27
- } from "../chunk-YRIK6EIY.js";
27
+ } from "../chunk-AR3LVWUF.js";
28
28
  export {
29
29
  AuthProvider,
30
30
  AzureProvider,
@@ -1359,6 +1359,7 @@ var OAuthProxy = class {
1359
1359
  this.config = {
1360
1360
  allowPlainPkce: true,
1361
1361
  authorizationCodeTtl: DEFAULT_AUTHORIZATION_CODE_TTL,
1362
+ authorizationResponseIss: true,
1362
1363
  consentRequired: true,
1363
1364
  enableCimd: false,
1364
1365
  enableTokenSwap: true,
@@ -1580,6 +1581,7 @@ var OAuthProxy = class {
1580
1581
  getAuthorizationServerMetadata() {
1581
1582
  return {
1582
1583
  authorizationEndpoint: `${this.config.baseUrl}/oauth/authorize`,
1584
+ ...this.config.authorizationResponseIss ? { authorizationResponseIssParameterSupported: true } : {},
1583
1585
  ...this.config.enableCimd ? { clientIdMetadataDocumentSupported: true } : {},
1584
1586
  codeChallengeMethodsSupported: this.config.allowPlainPkce ? ["S256", "plain"] : ["S256"],
1585
1587
  grantTypesSupported: ["authorization_code", "refresh_token"],
@@ -1630,6 +1632,9 @@ var OAuthProxy = class {
1630
1632
  const redirectUrl = new URL(transaction.clientCallbackUrl);
1631
1633
  redirectUrl.searchParams.set("code", clientCode);
1632
1634
  redirectUrl.searchParams.set("state", transaction.state);
1635
+ if (this.config.authorizationResponseIss) {
1636
+ redirectUrl.searchParams.set("iss", this.config.baseUrl);
1637
+ }
1633
1638
  return new Response(null, {
1634
1639
  headers: {
1635
1640
  Location: redirectUrl.toString()
@@ -1675,6 +1680,9 @@ var OAuthProxy = class {
1675
1680
  "User denied authorization"
1676
1681
  );
1677
1682
  redirectUrl.searchParams.set("state", transaction.state);
1683
+ if (this.config.authorizationResponseIss) {
1684
+ redirectUrl.searchParams.set("iss", this.config.baseUrl);
1685
+ }
1678
1686
  return new Response(null, {
1679
1687
  headers: {
1680
1688
  Location: redirectUrl.toString()
@@ -3090,4 +3098,4 @@ export {
3090
3098
  DiskStore,
3091
3099
  JWKSVerifier
3092
3100
  };
3093
- //# sourceMappingURL=chunk-YRIK6EIY.js.map
3101
+ //# sourceMappingURL=chunk-AR3LVWUF.js.map