AAuth Explorer
accessPhase 2

Resource-Managed Access (2-party)

The resource manages authorization entirely itself — no PS or AS involved. It verifies the agent's signed request, applies its own policy (allowlist, pre-registered key, or internal rule), and issues an opaque AAuth-Access token for subsequent calls. The token is a simple opaque string, not a JWT — the resource is its own authority.

§ Resource-Managed Access (Two-Party)
AgentResource1Signed GET /data → resource…2002Subsequent request with opa…
GET https://api.example/data200

Agent presents its agent token in the Signature-Key header using sig=jwt.

Resource verifies the agent token JWT and HTTP signature, then checks its internal policy.

This agent's domain is allowlisted — resource grants access immediately.

Resource issues an AAuth-Access header with an opaque token for subsequent calls.

The opaque token is a simple string minted by the resource — not a JWT, no PS or AS.

1 / 2
speed

Step 1: Signed GET /data → resource checks policy → 200 + opaque token

Request / response
GEThttps://api.example/data
Host

api.example

Signature-KeyAAuth?

sig=jwt;jwt="eyJhbGciOiJFZERTQSIsImtpZCI6ImFnZW50LWtleS0xIiwidHlwIjoiYWEtYWdlbnQ…

Signature-InputAAuth?

sig=("@method" "@authority" "@path" "signature-key");created=1700000000;alg="ed2…

SignatureAAuth?

sig=:Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4…

HTTP Signaturescheme=jwt

Covered Components

@method
@authority
@path
signature-key

Signature Base

"@method": GET
"@authority": api.example
"@path": /data
"signature-key": sig=jwt;jwt="eyJhbGciOiJFZERTQSIsImtpZCI6ImFnZW50LWtleS0xIiwidHlwIjoiYWEtYWdlbnQrand0In0…"
"@signature-params": ("@method" "@authority" "@path" "signature-key");created=1700000000;alg="ed25519"

Signature-Key Header

sig=jwt;jwt="eyJhbGciOiJFZERTQSIsImtpZCI6ImFnZW50LWtleS0xIiwidHlwIjoiYWEtYWdlbnQrand0In0…"

Signature-Input Header

sig=("@method" "@authority" "@path" "signature-key");created=1700000000;alg="ed25519"

Agent Tokenaa-agent+jwt
Header
{
"alg":"EdDSA",
"kid":"agent-key-1",
"typ"?:"aa-agent+jwt"
}
Payload
{
"iss"?:"https://agent.example",
"sub"?:"aauth:local@agent.example",
"dwk"?:"aauth-agent.json",
"jti"?:"a6ae301d-1dc7-4b75-8f8b-5612197664a7",
"cnf"?:{
"jwk"?:
}
,
"iat"?:1776222894,
"exp"?:1776226494
}
sig: 8byvGd-PR3uOLeS_HYOpbW7OD_8whUuD