Flow
Agent verified
The agent's provider — OpenAI, Anthropic, Cursor, or any trusted agent platform — attests to the user's identity at registration time. Your service verifies the attestation and issues credentials synchronously, no human interaction required.
When to use it
- You already JIT-provision users from OIDC or SAML identity providers — this is the same shape with a different issuer.
- You want zero-friction registration when the agent has a known user behind it.
- You're comfortable maintaining a trust list of agent providers and revoking when one rotates keys or is compromised.
How it works
- Agent hits your API, gets a 401 with a pointer to your discovery document.
- Agent asks the user for consent to assert identity to your service.
- Agent requests an audience-specific ID-JAG from its provider.
- Agent POSTs the ID-JAG to your
/agent/authendpoint. - Your service verifies the signature against the provider's JWKS, matches the user, and returns credentials.
What you get
- Synchronous user identity at registration — no OTP, no email round-trip.
- A delegation record per
(iss, sub, aud)that the provider can revoke at any time via a logout token. - Standard JWT verification path; integrates with anything that already handles OIDC.
Trade-offs
- Only works when the agent's provider participates. Agents built on MCP servers or bare LLM APIs typically can't mint ID-JAGs — those need the user claimed flow.
- You take on the operational responsibility of curating which providers you trust.
Implement it
App side: For apps → agent verified flow. Provider side: For agent providers.