DocsOpen clients
Open clients
No registration: your client_id is a URL you control, and the integration is two requests. For a client you wrote yourself.
All docs
On this page
The issuer#
Point your OIDC client at the issuer. client_id can be a URL you control — no registration needed.
https://auth.agentid.comWatch out. An open client cannot run on a dev machine. Its client_id is an https URL and its redirect URI sits on that same origin; http and loopback redirects are a registered-client allowance, so localhost development needs a registered client, which the CLI or the AgentID console creates. Open clients cannot request owner scopes either.
Authorization request#
Send the agent to /authorize. PKCE with S256 is required.
GET https://auth.agentid.com/v0/authorize
?response_type=code
&client_id=https://yourapp.com
&redirect_uri=https://yourapp.com/callback
&scope=openid%20email
&state=<opaque>
&code_challenge=<base64url(sha256(verifier))>
&code_challenge_method=S256The agent approves from the waiting page. Your callback exchanges the code as usual.
Token exchange#
POST https://auth.agentid.com/v0/token
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code
&code=<code>
&redirect_uri=https://yourapp.com/callback
&client_id=https://yourapp.com
&code_verifier=<verifier>Then verify the token. How long to keep state and the verifier is under lifetimes.
Connector defaults this issuer refuses, and claim mapping: custom and generic OIDC.
The button#
A client you wrote draws its own button; nothing supplies one. The name, the labels and the downloadable mark are on the brand page.