OAuth 2.0 Private Key JWT Client Authentication
Client authentication method where a confidential client proves its identity to the authorization server by signing a JWT assertion with its private key, instead of sending a shared client secret, and then uses the issued access token to call a protected API.
Private Key JWT is a client authentication method for the token endpoint. Rather than sending a shared client secret, the client signs a short-lived JSON Web Token (the client assertion) with a private key that never leaves its control. The authorization server verifies the signature with the matching public key registered for that client, so no secret is ever transmitted or stored by the server.
The method is used with any grant that calls the token endpoint (such as client credentials or authorization code) and is a common requirement in high-security profiles such as FAPI. The diagram below uses it with the client credentials grant.
Official specifications
- RFC 7523 - JWT Profile for OAuth 2.0 Client Authenticationdatatracker.ietf.org
- RFC 7521 - Assertion Framework for OAuth 2.0 Client Authenticationdatatracker.ietf.org
- OpenID Connect Core Section 9 - Client Authenticationopenid.net
- RFC 7517 - JSON Web Key (JWK)datatracker.ietf.org
- RFC 6750 - OAuth 2.0 Bearer Token Usagedatatracker.ietf.org