AAuth Explorer
advancedPhase 7

Call Chaining (R1 acts as Agent to R2)

Resource 1 needs data from Resource 2 to fulfil the agent's request, so R1 acts as an agent: it has its own agent identity and signing key. It routes the downstream request to the person server named by the ps claim of the upstream auth token — first for a person token for R2, then for the auth token. There is no delegation chain claim: -11 removed act, and the PS holds the chain because it authorizes every hop.

§ Call Chaining
AgentResource 1Person ServerResource 21Agent → R1 with AS1 auth to…2002R1 → PS: POST /person {reso…3R1 → R2: signed GET with th…4R1 → PS: POST /auth-token {…5R1 → R2: present the downst…6R1 returns combined result …
GET https://api.example/data200

The agent accesses R1 with its AS1-issued auth token (sig=jwt — the auth token is the signing credential).

That token's ps claim names the person's PS. It is what R1 will route the downstream request to.

R1 needs data from R2 to fulfil the request, and it will act as an agent to get it.

1 / 6
speed

Step 1: Agent → R1 with AS1 auth token → R1 needs R2

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

api.example

Signature-KeyAAuth?

sig=jwt;jwt="eyJhbGciOiJFZERTQSIsImtpZCI6ImFzMS1rZXktMSIsInR5cCI6ImFhLWF1dGgrand…

Signature-InputAAuth?

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

SignatureAAuth?

sig=:UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFB…

HTTP Signaturescheme=jwt

Covered Components

@method
@authority
@path
signature-key

Signature Base

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

Signature-Key Header

sig=jwt;jwt="eyJhbGciOiJFZERTQSIsImtpZCI6ImFzMS1rZXktMSIsInR5cCI6ImFhLWF1dGgrand0In0…"

Signature-Input Header

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

Auth Token (Agent→R1)aa-auth+jwt
Header
{
"alg":"EdDSA",
"kid":"as1-key-1",
"typ"?:"aa-auth+jwt"
}
Payload
{
"iss"?:"https://as.example",
"dwk"?:"aauth-access.json",
"aud"?:"https://api.example",
"jti"?:"5aba3c5f-0509-4483-a99e-394c0a2b1313",
"ps"?:"https://ps.example",
"sub"?:"8f14e45fceea167a5a36dedd4bea2543",
"cnf"?:{
"jwk"?:
}
,
"scope"?:"read",
"iat"?:1776222894,
"exp"?:1776226494
}
sig: wuhpIWVGWe2kNxVtCXDsYgp0ngxD7Hth