microsoft / microsoft/agent-framework

.NET: Missing guidance on A2A client --> A2A host --> tool authentication

Open
#8,121 2 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

.NET a2a
Dominant language
Python
Stars
13.6k
Forks
2.3k
Avg merge
2d 45m
Merged PRs (30d)
358

Description

The [A2A specification basically says "authentication is not A2A specific, just follow OAuth standards"](https://a2a-protocol.org/latest/topics/enterprise-ready/#authentication). It leaves the implementation up to frameworks and developers.

However, there is no guidance in the Agent Framework documentation on how to set it up.

## Use case

I want to build an agent that users can call. The agent should be able to call sub-agents on behalf of the user. I want to integrate the sub-agents via the A2A protocol.

Those sub-agents should be able to make authenticated requests using the user's permissions (fetching data, performing actions).

## Semi-relevant references (neither of them fully covers this issue)
- The only relevant Microsoft documentation I could find on [user authentication to sub-agents via the A2A protocol is specific to Foundry Agent Service](https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/agent-to-agent-authentication) which calls it `OAuth Passthrough`. However it is not clear what piece of the OAuth specification that is based on.
- https://github.com/microsoft/agent-framework/issues/2958 seems relevant but does not clearly point to documentation, code or a sample that makes me understand how to implement it.
- https://github.com/microsoft/agent-framework/blob/main/dotnet/samples/05-end-to-end/AspNetAgentAuthorization/Service/Program.cs is relevant for a `web chat --> agent service` setup but does not show how authentication flows via `A2A client --> A2A server --> tools`.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.