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 a session token in the AAuth-Access header for subsequent calls. The session token is opaque to the agent — the resource wraps its own authorization state, which MAY be an existing OAuth access token — and it is the one AAuth credential a resource issues for its own consumption. A resource declares this mode as access_mode=session-token in its metadata.

§ Resource-Managed Access (Two-Party)
AgentResource1Signed GET /data → resource…2002Subsequent request with the…
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 carrying a session token for subsequent calls.

The session token is a token68 string minted by the resource — not a JWT, no PS or AS. It names the continuing relationship the resource has established with this agent for this person.

1 / 2
speed

Step 1: Signed GET /data → resource checks policy → 200 + session 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",
"dwk"?:"aauth-agent.json",
"sub"?:"aauth:local@agent.example",
"jti"?:"a6ae301d-1dc7-4b75-8f8b-5612197664a7",
"cnf"?:{
"jwk"?:
}
,
"iat"?:1776222894,
"exp"?:1776226494
}
sig: 8byvGd-PR3uOLeS_HYOpbW7OD_8whUuD