Flows
Every way an agent gets access
19 flows, each as a sequence diagram you can step through. They are grouped by the question that matters most when choosing between them: is there a person involved, and when?
Human present
Someone is at the keyboard and can sign in and consent right now.
Human in the loop
The agent works on its own, but pauses for a person to approve specific actions.
Delegation chains
Carrying “who asked for this” across agents, tools and trust domains.
No human
The agent acts as itself: workload identity, not user identity.
Agent to agent, agent to web
Agents authenticating to each other, to websites and to merchants.
Cross-cutting
Techniques that harden any of the above.
Side by side
Who the token is about, and what proves it.
| Flow | Human | Token subject | Agent proves itself with | Maturity |
|---|---|---|---|---|
| Authorization code + PKCE | present | User | PKCE, plus client authentication if confidential | Stable standards |
| Device authorization | present | User | Device code | Stable standards |
| MCP authorization | present | User | Client ID metadata URL and PKCE | Emerging |
| Step-up authorization | present | User, for one action | Same as the underlying flow | Stable standards |
| Backchannel approval (CIBA) | reachable | User, for one action | Signed client assertion | Stable standards |
| URL elicitation | present | User, at the third party | Nothing: the server holds the grant | Emerging |
| Token exchange | Either | User, with the actor named | Client authentication and the token it received | Stable standards |
| Enterprise-managed (ID-JAG) | present | User | A grant issued by the identity provider | Emerging |
| Identity chaining | Either | User or agent, mapped per domain | A signed grant from the home domain | Emerging |
| Transaction tokens | Either | User and transaction | Workload identity | Emerging |
| Client credentials | No human | Agent | Signed assertion or client secret | Stable standards |
| Workload identity federation | No human | Agent, as a workload | A token issued by the platform | Stable standards |
| SPIFFE + mTLS | No human | Agent, as a workload | Certificate obtained by attestation | Stable standards |
| Workload tokens (WIMSE) | No human | Agent, as a workload | Key-bound token and per-request proof | Emerging |
| Agent to agent (A2A) | Either | Whatever the token says | A scheme declared in the Agent Card | Emerging |
| Web Bot Auth | Either | Agent operator | HTTP message signature | Emerging |
| Agent payments (AP2) | reachable | User’s signed intent | A key named in the mandate | Experimental |
| DPoP | Either | Unchanged | A signed proof on every request | Stable standards |
| Credential broker | Either | Unchanged | Nothing: the proxy holds the secret | Emerging |