Skip to content

Datatracker references, contributor names, and agent token revocation at the PS - #70

Merged
dickhardt merged 6 commits into
mainfrom
refs-datatracker-and-name
Aug 6, 2026
Merged

Datatracker references, contributor names, and agent token revocation at the PS#70
dickhardt merged 6 commits into
mainfrom
refs-datatracker-and-name

Conversation

@dickhardt

@dickhardt dickhardt commented Aug 6, 2026

Copy link
Copy Markdown
Owner

1. Datatracker document URLs, not pinned revisions

A citation that resolves from the datatracker renders a pinned revision — draft-hardt-oauth-aauth-protocol-09 with a -09 URL — which goes stale the moment the next revision is submitted. Within the AAuth family, where the documents ship together, the useful target is the datatracker document page, which always shows the latest revision.

The repo already did this for HTTP Signature Keys in the bootstrap and events drafts; it just wasn't applied consistently. Applied now to every family draft that exists on the datatracker, verified by fetching each:

Draft Datatracker Target
draft-hardt-oauth-aauth-protocol 200, rev 09 datatracker doc URL
draft-hardt-httpbis-signature-key 200, rev 08 datatracker doc URL
draft-hardt-aauth-bootstrap 200, rev 01 datatracker doc URL
draft-hardt-aauth-r3 404 repository (unchanged)
draft-hardt-aauth-events 404 repository (unchanged)

Third-party drafts are deliberately left pinned — their content can change without notice, and a fixed revision is what a normative citation to someone else's work should name.

2. Contributor names

He Gu, previously listed by the handle hegu-1. And sdatapix removed as a duplicate — it is Sanjay Dalal, already listed.

3. Agent token revocation happens at the PS

The -10 text had the agent provider revoking an agent token at a revocation_endpoint of its own. Wrong endpoint. The AP calls the PS's revocation endpoint, knowing which PS from the ps claim it placed in the token, and the PS then denies that agent token and revokes the auth tokens it issued or provided for that agent at each resource. Issue #60 asked for this at the PS in the first place.

The OPTIONAL revocation_endpoint on agent provider metadata is removed. Reporting a compromised agent between parties is a signal, not a revocation — filed as #71 for a companion draft.

Identity-based access (requirement=agent-token) sends the agent token straight to the resource, and the AP has no record of which resources those are, so that path relies on the resource's own revocation endpoint or the agent token lifetime.

4. The offline verification claim

"Auth tokens are verified offline, from their signature and claims, with no call to the issuer" overstated it — a resource does call the issuer, fetching the JWKS for a verification key. The property that actually holds is that nothing in verification asks the issuer about the token, which is why a revocation has to be pushed to reach a holder.

5. Two sections removed

Cross-references and Document History entries updated for both. All four drafts build clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_016LfnjrsxHf2nSe74JFLh4S

dickhardt and others added 3 commits August 6, 2026 11:07
The companion drafts each carried a hand-maintained <reference> block
for the AAuth Protocol pointing at the repository, so the rendered
citation was a bare github.com link with no revision or date. The
protocol spec is on the datatracker through -09, and this repo's
convention since 90089f8 is to hand-maintain a block only for drafts
the datatracker cannot resolve -- which is why the protocol draft still
carries blocks for R3 and events, neither of which has been published.

Dropping the block in R3, events, and bootstrap makes all three resolve
to draft-hardt-oauth-aauth-protocol-09 with its datatracker URL.

Also names He Gu, previously listed by the handle hegu-1: their profile
README reads "He Gu / naze" and states they sign their work as naze.
sdatapix remains a handle -- no name is set, there are no public repos
or events, and channelseal.com names nobody.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011H2BBgoKc7DqXeme5yT9Ls
…vision

A citation that resolves from the datatracker renders a pinned revision
-- draft-hardt-oauth-aauth-protocol-09 with a -09 URL -- which goes
stale as soon as the next revision is submitted. These documents ship
together, so within the family the useful target is the datatracker
document page, which always shows the latest revision.

The repo already did this for HTTP Signature Keys in the bootstrap and
events drafts; it was simply not applied consistently.

Applies to every AAuth-family draft that exists on the datatracker,
verified by fetching each: the protocol (rev 09), signature keys (08),
and bootstrap (01). R3 and Events return 404 there -- neither has been
submitted -- so they keep repository targets until they are.

Third-party drafts (ryan-httpauth-payment, crockford-davis-base32) are
deliberately left to resolve to a pinned revision. Their content can
change without notice, so a fixed revision is what a normative citation
to someone else's work should name.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011H2BBgoKc7DqXeme5yT9Ls
Removes the duplicate handle entry. The two were listed separately
because the sdatapix profile sets no name and the account has no public
repos, events, or org memberships to connect it to a person; Dick
confirmed the identity.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011H2BBgoKc7DqXeme5yT9Ls
@dickhardt dickhardt changed the title Resolve the protocol reference from the datatracker; name He Gu Reference the AAuth family by datatracker document URL; name He Gu, de-duplicate Sanjay Dalal Aug 6, 2026
An agent provider revokes an agent token by calling the PS's revocation
endpoint, not one of its own. The AP knows which PS from the `ps` claim
it placed in the token, and the PS is where the consequences land: it
denies the agent token thereafter and revokes what it issued or provided
for that agent at each resource. Identity-based access does not go
through the PS, so it relies on the resource's own revocation endpoint
or the agent token lifetime. The OPTIONAL `revocation_endpoint` on agent
provider metadata is removed; issue #60 asked for this at the PS.

"Auth tokens are verified offline" overstated it — a resource fetches
the issuer's JWKS for a verification key. What holds is that nothing in
verification asks the issuer about the token itself, which is why a
revocation has to be pushed to reach a holder.

Removed Approved Tools and Offline Accountability, reopening issue #49,
and Resolving the Account. The `account` parameter itself stays.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016LfnjrsxHf2nSe74JFLh4S
@dickhardt dickhardt changed the title Reference the AAuth family by datatracker document URL; name He Gu, de-duplicate Sanjay Dalal Datatracker references, contributor names, and agent token revocation at the PS Aug 6, 2026
dickhardt and others added 2 commits August 6, 2026 15:39
Eighteen entries to fourteen, each shorter. Related changes are merged —
the two `alg`-carrying requirements into one key entry, the issuer-check
and status-code changes into one error entry, the directed `sub` rule
with the example update it forced — and the rationale each entry carried
is cut back to what a reader needs to find the change in the document.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016LfnjrsxHf2nSe74JFLh4S
Fourteen entries to six. What remains is what an implementer has to act
on: the algorithm and key requirements, the verification and error
alignment, revocation keyed on (iss, jti), the directed `sub` rule, and
the `account` parameter. Editorial changes — reference targets,
acknowledgments, rewritten comparisons, updated examples, IANA
designated expert instructions — are in the commit history and do not
need an entry here.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016LfnjrsxHf2nSe74JFLh4S
@dickhardt
dickhardt merged commit 743e46e into main Aug 6, 2026
2 checks passed
@dickhardt
dickhardt deleted the refs-datatracker-and-name branch August 6, 2026 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant