Supporting Google's Javascript A2A library with the Agentic Profile

Today I submitted a pull-request (PR) to add Decentralized ID (DID) and JWT authentication support into Google's brand new A2A Typescript library.
I've already written a lot about this in prior blog posts, so I'll give the quick summary of providing universal authentication and user/business/gov scoped identity to agents to unlock the Agentic Economy.
If you are technical and want to see it in action, follow along...
Quickstart to the Agentic Profile+A2A
-
Clone the feature branch I just created:
git clone -b feature-DID-support git@github.com:mprynce/a2a-js.git cd a2a-js
-
Fetch the dependencies
npm install
-
Start the Eliza agent
npm run agent:eliza
-
In a separate terminal window:
npm run sample:cli http://localhost:41241
Now the fun begins. Create an Agentic Profile which is a DID document that is hosted in the cloud and can be used to authenticate with A2A services.
-
Create your Agentic Profile
npm run create-demo-agentic-profile
-
Make sure Eliza is running
npm run agent:eliza
-
In a separate terminal window, use the command line interface to connect:
npm run sample:cli http://localhost:41241/agents/eliza #connect
What just happened?
- The A2A client attempted to connect to the A2A agent at http://localhost:41241/agents/eliza
- The A2A client did not provide an HTTP Authentication header, so the server replied with a 401 error and a WWW-Authenticate header with a challenge.
- The client recognized this as an agentic challenge, selected the #connect agent that was specified, and created a JWT signature to authenticate with
- The A2A client retried the request with the JWT
- The A2A server received the JWT, and opened it up to find the signers DID
- The A2A server fetched the DID document containing the signing agent and verified the public key
- With the A2A client verified, the server processed the request.
Below is a simple diagram to illustrate the above.
Wrapping up
This is my second A2A integration (the first was on Google's a2a-samples repo) and I completed it in just a few hours. In the last few weeks the Agentic Profile has been getting a lot of attention, and I hope Google integrates my code so we can massively accelerate the growth of the Agentic Economy!
If you have any questions or want to explore synergies please connect with Mike Prince on LinkedIn.