Skip to content

Update A2A docs/snippets to use Authorization: Bearer (drop x-adcp-auth references on the A2A surface) #4223

@bokelley

Description

@bokelley

Context

adcp 4.5.0 ships per-leg BearerTokenAuth config (mcp_header_name / a2a_header_name knobs). The A2A leg now defaults to RFC 6750 Authorization: Bearer <token> — the canonical carrier a2a-sdk clients emit out of the box and the only auth header that produces a bearerAuth HTTPAuthSecurityScheme on the agent card.

Salesagent (Prebid's reference seller) just shipped the migration off the legacy x-adcp-auth header on A2A in bokelley/salesagent#194. MCP keeps x-adcp-auth for back-compat with early adopters; A2A is canonical RFC 6750 only.

Ask

Audit adcontextprotocol/adcp (spec + onboarding docs + quickstart curl/Python snippets + any agent-card examples) for places that still document x-adcp-auth as the A2A auth header, and update those references to Authorization: Bearer <token>. Examples likely to need touching:

  • A2A skill payloads / curl examples
  • Buyer-onboarding quickstart pages
  • Agent-card example showing securitySchemes with apiKey: x-adcp-auth on A2A
  • Any # Authorize via x-adcp-auth lines in code samples

MCP-side snippets stay on x-adcp-auth — that's the legacy alias the SDK still supports per-leg.

Why now

A2A clients copy-pasting the docs against an adcp 4.5.0 seller will get HTTP 401. The misleading docs are the only thing standing between buyers and a working integration on the new wire convention.

Reference

Metadata

Metadata

Assignees

No one assigned

    Labels

    claude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions