Auth, credentials and payments, for people and agents.
1talk
10answers
0mainly about it
1new
DecJanFebMarAprMayJunJulAugSepOctNov
What your library answers 10
Why are static API keys a security risk for AI agents?
Using long-lived, broadly scoped API keys in configuration files creates massive security vulnerabilities as agent deployments scale. If thousands of agents run with broad access keys, a single compromise exposes all connected systems. We must transition away from these static secrets to dynamic access models.
The authorization code flow mediates requests between a client application and a resource server via an authorization server. The authorization server authenticates the user, obtains consent, and issues an access token to the client. This token is then used to access protected resources while supporting short-lived, rotated refresh tokens.
How did the first version of the Model Context Protocol handle security?
The initial version of MCP featured no authorization mechanisms at all, prioritizing rapid prototyping primarily for local servers. While it sparked ecosystem interest, it left remote and connected servers entirely unprotected. This required developers to look toward formal authorization protocol drafts.
What was wrong with the early MCP authorization specification draft?
The late March draft erroneously forced MCP servers to implement all of OAuth 2, including token issuance and authentication. This collapsed the authorization server role directly into the resource server, violating core OAuth principles and causing widespread industry criticism.
How should MCP servers be modeled in an OAuth architecture?
MCP servers should act strictly as OAuth resource servers rather than handling their own token issuance. The authorization server must remain a completely separate entity that handles authentication and issues tokens. This simplifies the MCP server's job to simply verifying incoming HTTP tokens.
When should agents use the OAuth client credentials flow?
While the authorization code flow handles end-user delegation, the client credentials flow applies when agents communicate autonomously. Agents use this flow to interact with other agents or MCP servers on their own behalf rather than acting for a logged-in user.
Why is dynamic client registration problematic for agent identities?
Dynamic client registration allows agents to request credentials at runtime without prior manual registration. However, because the registration request itself is uncredentialed, it leaves all agents effectively anonymous. This makes building trust and tracking identity across agent ecosystems extremely difficult.
How can we use URLs and PKI for secure agent identity?
Instead of dynamic registration, we can use standard URLs as client identities in OAuth flows. By leveraging public key infrastructure (PKI) and key sets, agents can sign assertions or HTTP messages. Receiving servers then use corresponding public keys to cryptographically authenticate the agent.
What is transactional authorization and why do agent workflows require it?
Traditional OAuth scopes are often too coarse-grained and long-lived for advanced AI agent operations. Transactional authorization allows agents to obtain permissions on a per-transaction basis, such as approving specific financial budgets or transaction amounts. Specifications like rich authorization requests provide a model for this dynamic requirement.
How do we secure downstream interactions and chain of custody for MCP servers?
When an MCP server calls another internal API or third-party service, basic OAuth connections are no longer sufficient. Developers should implement techniques like OAuth token exchange and identity assertion grants for cross-domain identity chaining. This preserves security visibility across complex multi-agent communication graphs.