Skip to content
Agent Identity

IETF · March 2022

OAuth 2.0 Authorization Server Issuer Identification

RFC 9207

K. Meyer zu Selhausen, D. Fett

RFCStableAuthenticationFoundationField guide

Agents that talk to many authorization servers (SaaS tools, multiple MCP servers) are mix-up-prone. This is a small check that prevents a large class of token theft.

At a glance

Problem
In mix-up attacks the client is tricked into sending an authorization response from AS A to a flow it started with AS B. Returning the issuer in the authorization response lets the client detect that.
Identity / authn / authz
Authenticates which AS produced the authorization response.

Actors

  • Authorization server
  • Client

01

The gap for agents

In mix-up attacks the client is tricked into sending an authorization response from AS A to a flow it started with AS B. Agents that talk to many authorization servers (SaaS tools, multiple MCP servers) are mix-up-prone. RFC 9207 returns iss in the authorization response so the client can detect that.

MCP 2026-07-28 requires iss validation. Always set expected issuer from metadata, not from the response.

02

Actors and trust boundaries

The client compares iss to the AS it intended (from its own state + metadata). Simple string comparison. The response is otherwise unauthenticated until this check (and PKCE) succeed.

03

Mechanics

AS includes iss in the authorization response (including errors). Client compares with the intended issuer. RFC 9207, March 2022.

iss (authorization response)from spec
Quoted RFC 9207: AS issuer URL. Not the same field as a JWT iss, but the same identifier.

04

Step-by-step flows

Flow 1

Detect mix-up

  1. 1

    Client starts a flow at AS B, storing expected issuer from B's metadata.

  2. 2

    Attacker causes the user-agent to deliver AS A's response to the client.

  3. 3

    Client sees iss=A ≠ expected B and aborts. No token request is made.

05

Identity vs authentication vs authorization

Authenticates which AS produced the authorization response. Small check, large class of token theft.

06

How it composes

07

What bites agent implementers

  • Trusting iss to choose the AS

    iss is a detector, not a discovery mechanism. Expected issuer comes from your state.

08

Stability — what you can ship

RFC 9207, March 2022, K. Meyer zu Selhausen, D. Fett. Stable. https://www.rfc-editor.org/rfc/rfc9207.html

Catalog claims (short form)

iss (authorization response)
AS issuer URL. Not the same field as a JWT iss, but the same identifier.

Implementer notes

MCP 2026-07-28 requires iss validation. Always set expected issuer from metadata, not from the response.

Relationship to others

Primary sources

  • RFC 9207https://www.rfc-editor.org/rfc/rfc9207.html