[KongchangAI]
ConceptDemonstrating Proof of Possession / 持有证明

DPoP

DPoP is an OAuth security mechanism that binds access tokens to a client's asymmetric key pair. On each request, the client must attach a proof JWT signed with its private key, preventing stolen tokens from being reused by unauthorized third parties. The standard is defined in IETF RFC 9449.

Timeline (last 90 days)

Oct 21

DPoP binds the identity of the token holder, not who the token holder acts for or what task they perform.

Unverified50%
Oct 21

For AI agents connecting to systems, using RAR and DPoP in combination is currently the more pragmatic choice.

Unverified50%
Oct 21

None of the four extensions provides a unified answer for scenarios such as permission downgrade during refresh of long-running tasks and task interruption recovery.

Unverified50%
Oct 21

Even when combined, the four OAuth extensions still cannot express cross-agent delegation chain traceability in a standardized way.

Unverified50%
Oct 21

DPoP does not rely on mutual TLS, so its deployment threshold is lower than that of mTLS-bound certificate schemes.

Unverified50%
Oct 20

The standard DPoP specification (RFC 9449) covers both access tokens and refresh tokens, whereas Google's current choice is to mandate binding only for refresh tokens, with access tokens still being Bearer.

Unverified50%
Oct 20

When issuing a token, the authorization server embeds the fingerprint of the client's public key (jkt) into the token (usually via the cnf claim); when using a refresh token to exchange for a new access token, a valid DPoP proof must also be provided, and the server verifies the signature, the jkt match, and the consistency of request parameters.

Unverified50%
Oct 20

RFC 9449 (OAuth 2.0 Demonstrating Proof of Possession) is a standards specification published by the IETF that defines the complete DPoP framework, including binding for access tokens and refresh tokens, the nonce mechanism, error responses, and more.

Unverified50%
Oct 20

Google's DPoP support targets clients that can securely hold private keys, such as server-side applications and native applications (using secure storage); for public clients that cannot securely store keys (such as pure browser-side applications), DPoP's applicability is limited.

Unverified50%
Oct 20

The main steps to implement DPoP include: generating an asymmetric key pair, attaching a DPoP proof (JWT) to the refresh token request, and ensuring the token endpoint verifies that proof.

Unverified50%

13 more timeline events

All Facts (20)

Unverified

DPoP binds the identity of the token holder, not who the token holder acts for or what task they perform.

50%
Unverified

For AI agents connecting to systems, using RAR and DPoP in combination is currently the more pragmatic choice.

50%
Unverified

None of the four extensions provides a unified answer for scenarios such as permission downgrade during refresh of long-running tasks and task interruption recovery.

50%
Unverified

Even when combined, the four OAuth extensions still cannot express cross-agent delegation chain traceability in a standardized way.

50%
Unverified

DPoP does not rely on mutual TLS, so its deployment threshold is lower than that of mTLS-bound certificate schemes.

50%
Unverified

The standard DPoP specification (RFC 9449) covers both access tokens and refresh tokens, whereas Google's current choice is to mandate binding only for refresh tokens, with access tokens still being Bearer.

50%
Unverified

Google recently introduced a DPoP (Demonstrating Proof of Possession) binding mechanism for OAuth refresh tokens, binding refresh tokens to client keys while access tokens remain in Bearer form.

50%
Unverified

When issuing a token, the authorization server embeds the fingerprint of the client's public key (jkt) into the token (usually via the cnf claim); when using a refresh token to exchange for a new access token, a valid DPoP proof must also be provided, and the server verifies the signature, the jkt match, and the consistency of request parameters.

50%
Unverified

RFC 9449 (OAuth 2.0 Demonstrating Proof of Possession) is a standards specification published by the IETF that defines the complete DPoP framework, including binding for access tokens and refresh tokens, the nonce mechanism, error responses, and more.

50%
Unverified

Google's DPoP support targets clients that can securely hold private keys, such as server-side applications and native applications (using secure storage); for public clients that cannot securely store keys (such as pure browser-side applications), DPoP's applicability is limited.

50%
Unverified

The main steps to implement DPoP include: generating an asymmetric key pair, attaching a DPoP proof (JWT) to the refresh token request, and ensuring the token endpoint verifies that proof.

50%
Unverified

The DPoP proof is bound to the request, and developers need to ensure time synchronization and correct nonce handling to avoid replay attacks.

50%
Unverified

DPoP's protection of refresh tokens reduces the scope of impact after a token leak, but access tokens remain Bearer, and an access token leaked within its validity period can still be abused.

50%
Unverified

The client's key management itself becomes a new attack surface; if the private key is not properly protected, DPoP's benefits will be greatly diminished.

50%
Unverified

DPoP is a mechanism defined by the IETF OAuth working group, in which the client generates an asymmetric key to sign each HTTP request and the resource server verifies the signature, so that even if a token is stolen, an attacker without the private key cannot use it.

50%
Unverified

If the client ecosystem does not yet support DPoP, forcing it to be enabled may cause connection interruptions.

50%
Unverified

DPoP is a mechanism that binds tokens to client keys, requiring the client to sign each request with a private key to prove possession of the bound key.

50%
Unverified

A DPoP proof is a JWT signed by a private key, containing the HTTP method, target URL, timestamp, and unique random value jti, with the client's public key fingerprint bound at the time of token issuance.

50%
Unverified

For existing MCP deployments, a gradual migration is recommended: first support rather than enforce DPoP, observe client adoption, and then progressively tighten the policy.

50%
Unverified

With DPoP enabled, the MCP server needs to verify the DPoP proof header while validating the access token, and must be capable of parsing signatures, verifying key binding relationships, and preventing replay attacks (via nonce or timestamp).

50%

Source Articles