- the SDK facade, which verifies tokens and signatures through
OpenAgent.authenticate(request); - the SDK-free HTTP challenge-response protocol, which lets any external agent prove key possession with Ed25519.
SDK facade
Authorization: OpenAgent <token>,Authorization: Bearer <token>,X-OpenAgent-Token,- detached signature headers.
HTTP challenge-response
1
Server challenges
A protected route without valid auth returns
401 and WWW-Authenticate: OpenAgent challenge="<base64url>".2
Agent signs
The agent decodes the challenge, applies JSON Canonicalization Scheme (JCS), and signs the canonical bytes.
3
Agent retries
The agent resends the original request with
Authorization: OpenAgent <signature>.<public_key>.4
Server verifies
The server checks the signature, consumes the nonce, derives the DID, calls AEGIS as needed, and returns session headers.