From 38ea8dcf9672effc9e9072478aaa6aad832c2418 Mon Sep 17 00:00:00 2001 From: PieterKas <90690777+PieterKas@users.noreply.github.com> Date: Mon, 12 Oct 2026 12:10:10 +0100 Subject: [PATCH] Add authorization code binding recommendation (dpop_jkt) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a SHOULD for MCP clients to bind the authorization code to their DPoP key per RFC 9449 Section 10. RFC 9449 makes this OPTIONAL; this profile recommends it as defense in depth alongside MCP’s mandatory PKCE. Surfaced by the conformance work in modelcontextprotocol/conformance#523; kept separate from #33 so the two can be discussed and merged independently. --- specification/draft/dpop-extension.mdx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/draft/dpop-extension.mdx b/specification/draft/dpop-extension.mdx index 20fafb1..20fac5b 100644 --- a/specification/draft/dpop-extension.mdx +++ b/specification/draft/dpop-extension.mdx @@ -59,6 +59,10 @@ DPoP: eyJ0eXAiOiJkcG9wK2p3dCIsImFsZyI6IkVTMjU2IiwiandrIjp7Imt0eSI6... ``` +### Authorization Code Binding + +MCP clients using the authorization code grant SHOULD bind the authorization code to their DPoP key, as described in [RFC 9449 Section 10](https://datatracker.ietf.org/doc/html/rfc9449#section-10). + ### MCP Server Validation MCP servers MUST validate DPoP proofs according to [RFC 9449 Section 4.3](https://datatracker.ietf.org/doc/html/rfc9449#section-4.3). Implementations conforming to this specification MUST verify that the `iat` claim is within ±5 minutes of the server's current time.