Skip to content

docs(oidc): correct the draft-14 claim behind the required status list iss - #390

Merged
EsTharian merged 1 commit into
mainfrom
fix/297-status-list-iss-rationale
Aug 26, 2026
Merged

docs(oidc): correct the draft-14 claim behind the required status list iss#390
EsTharian merged 1 commit into
mainfrom
fix/297-status-list-iss-rationale

Conversation

@EsTharian

Copy link
Copy Markdown
Member

Refs #297

status-list-token.ts requires iss on a Status List Token, and its JSDoc justified that by
saying "every real status issuer emits it — the draft's own example does."

It does not. The only "iss" in Token Status List draft-14 is in an SD-JWT VC Referenced
Token
example. The §5.1 Status List Token example carries sub/iat/exp/ttl/status_list
and no iss; the §5.2 CWT example likewise omits CWT key 1.

The requirement is still correct and unchanged — the dNSName SAN binding has nothing to
bind against without iss, and treating "absent" as "unchecked" would be the fail-open reading.
But it rejects a token draft-14 would call conforming, so the comment now records it as what it
is: a deployment-profile restriction, which §5.1 rule 4 explicitly permits ("Application of
additional restrictions and policies are at the discretion of the Relying Party"
), safe here
only because status issuers must already be anchored by the operator.

Comment-only — no behaviour change.

Provenance

This commit was written on feature/297-token-status-list on 2026-07-26 and never reached
main; the branch tip was left behind when #297 merged. Found while pruning stale worktrees.

Testing

nx run-many -t test typecheck lint -p server-federation — clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01TopYtHXg4tTs3B2xasjNQR

…t iss

The JSDoc justifying the mandatory `iss` claimed "the draft's own example
does" emit it. It does not: the only `"iss"` in draft-14 is in an SD-JWT VC
Referenced Token example, while the section 5.1 Status List Token example
carries sub/iat/exp/ttl/status_list and no `iss` (the section 5.2 CWT example
likewise omits CWT key 1).

Requiring `iss` is still right — the dNSName SAN binding has nothing to bind
against without it — but it rejects a token draft-14 would call conforming,
so it is recorded as what it is: a deployment-profile restriction permitted by
section 5.1 rule 4, safe only because status issuers must already be anchored
by the operator.

Refs #297

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UU6N6hP1UW3V83SrbiFKKN
@EsTharian
EsTharian merged commit 22adeb5 into main Aug 26, 2026
8 checks passed
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