liveBook · Manning

JARM

As explained in Secure APIs

JARM is an OAuth response mode that returns authorization responses in signed JWTs so clients can verify their origin and integrity.

JARM is an OAuth response mode that wraps an authorization code in a signed JWT. The signature lets the client verify that the response came from the legitimate authorization server and was not modified. section 10.6

JARM protects the authorization response from this attack sequence:

  • A threat actor intercepts the authorization-server response. section 10.6
  • The actor modifies the response before relaying it to the user agent. section 10.6
  • The client could otherwise be tricked into sending the authorization code to a malicious server, which may exchange it for an access token. section 10.6

Authorization response

After a successful authorization request, the authorization server returns the authorization code inside a signed JWT. The client validates the signature before trusting the response, preserving response integrity. section 10.7

How Secure APIs covers it

How deep it goes
Explains JWT wrapping, signature-based origin verification, and attack consequences without detailing implementation steps.
Examples
Uses an intercepted and modified authorization response that redirects an authorization code toward a malicious server.
What you can do after
Apply JARM by requiring signed JWT-wrapped authorization responses and checking their integrity before accepting authorization codes.
How it connects
Connects JARM with OAuth, PAR, JAR, message signing, nonrepudiation, authorization codes, and access tokens.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Secure APIs. The section links point to the parts of the book it draws on.