DPoP binds an access token to a client-generated cryptographic private key. The client proves possession by signing a fresh DPoP JWT and sending it in the DPoP header with each request. section 7.5.2
Figure 7.13 DPoP binds the access token to the public key thumbprint of the client’s certificate. The client proves ownership of the certificate by including a newly signed DPoP token in every request.
The flow links the access token to a public-key thumbprint, then uses newly signed proof for requests. section 7.5.2
A typical DPoP flow works as follows:
- Generate a signing-key pair and send the public key’s SHA-256 JWK thumbprint as dpop_jkt in the authorization request. section 7.5.2
- Exchange the authorization code by signing a DPoP JWT whose claims identify the method, URL, time, and token binding. section 7.5.2
- Send a newly signed DPoP JWT with the access token on API requests; the token records the key thumbprint in its cnf.jkt claim. section 7.5.2
Proof for a token request
A DPoP JWT can identify POST https://auth.apithreats.com/token through htm and htu, include a unique jti and timing claims, and carry the access-token hash in ath. section 7.5.2
