identity: wire refresh into oauth + e2e flow tests (Phase 2 complete, +3 tests)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 53s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 53s
exchange now issues an access+refresh pair (RFC 6749 §4.1.4/§5.1) via token.sx issue_grant; added the refresh grant (§6) delegating to token rotation. End-to-end: code-exchange → refresh → introspect (active), refresh-token reuse rejected (invalid_grant), and revoke-then-refresh blocked by grant cascade. oauth 17/17, 65/65. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,7 @@ through the event log, all authorization questions delegated to `acl-on-sx`.
|
||||
|
||||
## Status (rolling)
|
||||
|
||||
`bash lib/identity/conformance.sh` → **62/62** (Phase 1 + authz-code + refresh/rotation/cascade)
|
||||
`bash lib/identity/conformance.sh` → **65/65** (Phases 1–2 complete)
|
||||
|
||||
## Ground rules
|
||||
|
||||
@@ -65,7 +65,7 @@ lib/identity/api.sx ── (identity/login) (identity/grant?) (identity/revoke)
|
||||
## Phase 2 — OAuth2 flows
|
||||
- [x] authorization-code flow as a message protocol
|
||||
- [x] refresh + rotation; revocation cascades to issued tokens
|
||||
- [ ] tests: full code exchange, refresh, revoke-then-use (must fail)
|
||||
- [x] tests: full code exchange, refresh, revoke-then-use (must fail)
|
||||
|
||||
## Phase 3 — Silent SSO + membership
|
||||
- [ ] `prompt=none` cross-app login (one session, many clients)
|
||||
@@ -78,6 +78,12 @@ lib/identity/api.sx ── (identity/login) (identity/grant?) (identity/revoke)
|
||||
- [ ] tests: audit completeness, cross-instance subject mapping
|
||||
|
||||
## Progress log
|
||||
- 2026-06-07 — `oauth.sx` refresh wiring + e2e: exchange now issues an
|
||||
access+refresh pair (RFC 6749 §4.1.4/§5.1) via token.sx issue_grant; added
|
||||
the refresh grant (§6) delegating to token rotation. End-to-end tests:
|
||||
code-exchange→refresh→introspect, refresh-reuse rejected, and
|
||||
revoke-then-refresh blocked by cascade. **Phase 2 complete.** +3 → oauth 17,
|
||||
65/65.
|
||||
- 2026-06-07 — `token.sx` grant-centric rewrite: refresh-token rotation
|
||||
(RFC 6749 §6) + cascading revocation. The grant {Subject,Client,Scope,
|
||||
Status} is the cascade unit; access + refresh tokens reference it.
|
||||
|
||||
Reference in New Issue
Block a user