Flow · p2p
Agent-to-agent tasks (A2A)
Discovery and task delegation between opaque agents. Authentication is declared, not invented: OAuth, OIDC, mTLS, or API keys.
Actors
Client agent · Server agent · Enterprise AS (optional)
Sequence
- 1
Server agent→Client agent
GET /.well-known/agent-card.json (optionally verify JWS)
- 2
Client agent→AS
If the card says OAuth/OIDC, obtain a token out of band
- 3
Client agent→Server agent
Authenticated A2A operation on a supported interface
Caveats
This is p2p communication, not p2p AAuth. Inside a mesh you may additionally pass WIMSE proofs or transaction tokens. Implicit and password OAuth flows on Agent Cards are deprecated.
Why this hop looks this way
A2A v1.0 is how agents talk: Agent Cards, skills, tasks, JSON-RPC/gRPC/HTTP+JSON. Authentication is declared, not invented. A signed card is tamper evidence.
If the card says OAuth client credentials, the hop has no user — that is peer access using OAuth as a credential format, not AAuth identity-based access. If the card says authorization code, the hop became user-delegated while still being A2A communication.
In-band credential exchange across a chain of A2A agents exposes secrets to every hop (A2A §7.6.3). Prefer out-of-band.