A2A tasking
Agent-to-agent tasking (A2A)
Two agents, Agent Cards, a task protocol. A2A v1.0 is how they talk. Authentication is whatever the card advertised — usually OAuth at those endpoints. This is not AAuth identity-based p2p, and it is not did:peer / DIDComm.
When you see it
A planner agent delegates a 'book travel' skill to a specialist that published /.well-known/agent-card.json. Enterprise agent fabrics that speak JSON-RPC/gRPC/HTTP+JSON with A2A-Version. Google-originated protocol, now under AAIF / Linux Foundation.
Actors and trust
Client agentAgent instance
Reads the server's Agent Card, obtains credentials out of band, then calls a supported interface.
Server agentResource
Advertises skills, interfaces, and securitySchemes. Enforces the scheme on each operation.
Optional enterprise ASOther
Present when the card says OAuth or OIDC. Absent when the card says mTLS or an API key.
Topology
- Server agent→ Publishes /.well-known/agent-card.json →Agent Card
- Client agent→ Fetch; optionally verify JWS →Agent Card
- Client agent→ If the card says OAuth/OIDC, obtain a token out of band →Optional AS
- Client agent→ Authenticated A2A operation (JSON-RPC / gRPC / HTTP+JSON) →Server agent
Primary
- A2A (Agent2Agent)
- OAuth 2.0
At advertised endpoints. Prefer 2.1 practices (PKCE, no implicit).
Optional
- OAuth 2.1
What those advertised OAuth endpoints should actually implement.
- OpenID Connect Core
If the card lists an OIDC security scheme.
- mTLS sender-constrained tokens
- Protected Resource Metadata
If the A2A HTTP endpoint is also an OAuth resource with RFC 9728 metadata.
Do not use
- AAuthdraft / churn
AAuth p2p is signed HTTP with an agent token. A2A does not use Signature-Key. Keep the rows distinct.
- did:peer
Pairwise DID, not a globally fetched Agent Card.
- DIDComm
A different messaging stack. Not A2A tasks.
- In-band credential exchange down the chain
A2A §7.6.3: secrets become visible to every hop. Prefer out-of-band.
Why these, and not those
A2A v1.0 is a task and discovery protocol. It does not mint a new identity layer: it reuses OAuth, OIDC, mTLS, or API keys at the advertised endpoints. That is why OAuth shows up here and must not show up on the AAuth p2p row. AAuth identity-based access is signed HTTP with Signature-Key and no AS — different wire, different identifier. did:peer / DIDComm is pairwise wallet messaging; Agent Cards are globally fetched JSON. Do not forward caller credentials in-band down an A2A chain (A2A §7.6.3). Implicit and password grants on cards are deprecated.
Related flows
Sequence diagrams, not this topology cut. All flows