The proxy's own authorization endpoint (what it advertises to clients).
The proxy's fixed upstream redirect URI (baseUrl + redirectPath), registered with the IdP.
The proxy's own consent endpoint (the confused-deputy consent screen + approval action). Not advertised in OAuth metadata; used by the HTTP mount.
The proxy's own DCR registration endpoint.
Collapse this proxy config into the single auth object the transport accepts (StreamableHttpOptions.auth / mountMcp), so an OAuthProxy preset flows through the same one entry point as jwtResourceServer and the JWKS presets — no re-typing of resource/scopes. The validator is the configured tokenVerifier (fails closed when none is set); the proxy's own baseUrl is advertised as the sole authorization server (it fronts the upstream IdP), and resource/scopesSupported are mirrored.
The proxy's own token endpoint.
The proxy's own public base URL, including any mount path (e.g. https://mcp.example.com). Used to construct the proxy's fixed callback URL and as the issuer in the AS metadata it publishes.
The path on the proxy at which the user-consent screen is served and the consent-approval action is handled (confused-deputy mitigation). A dynamically-registered client is not forwarded to the upstream until the user approves it here. Defaults to /consent.
The path on the proxy at which the upstream redirects back after authorization. Combined with baseUrl to form the fixed upstream redirect URI. Defaults to /auth/callback.
The RFC 8707 canonical resource identifier of the MCP server, advertised in the PRM document and forwarded to the upstream as the resource parameter so issued tokens are audience-bound to this server.
The scopes advertised in the metadata documents the proxy publishes.
How the proxy authenticates to the upstream token endpoint. Defaults to client_secret_post (credentials in the form body); set to client_secret_basic to send them via the HTTP Basic header.
Validates an upstream access token, mapping it to a TokenInfo. Plug in introspectionVerifier, jwtVerifier, or staticVerifier. Required to enforce auth on incoming MCP requests.
The upstream IdP's authorization endpoint (e.g. https://github.com/login/oauth/authorize). Clients are redirected here.
The fixed upstream client_id of the OAuth application pre-registered with the IdP. Handed to every MCP client at DCR time.
The fixed upstream client_secret. May be empty for public PKCE clients.
The upstream IdP's token endpoint (e.g. https://github.com/login/oauth/access_token). The proxy exchanges codes here using the fixed upstream credentials.
Configuration for an OAuthProxy.