Lean A3a — auth-kern: intrekbare sessies, apparaat-token, proxy en login-rem #82
No reviewers
Labels
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
janpeter/Media-Organizer!82
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/lean-a3a-auth-kern"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Samenvatting
Eerste helft van Lean A3 (auth). Elke controle — API-route, pagina en server action — leest de
Session-rij, zodat intrekken op het eerstvolgende verzoek werkt.authenticateRequest(src/lib/auth/): Bearer, Basic alleen op GET/HEAD, of de iron-session-cookie; header wint van cookie; store-fout → 503, nooit 401 en nooit toegang.protectedAction/protectedPage; een gesloten vorm- en inventariscontrole over heelsrcdwingt af dat elke action en pagina gewikkeld is (src/test/guard-ast.ts,page-action-guard.test.ts).safeNextPath, CSRF-regel (Bearer zonder cookie overgeslagen, muterend Basic 403), schuivende cookie (seal 32 d, rij dwingt 30 d af, herzegelen hooguit eens per 24 u, niet op publieke paden).20260922000000_lean_a3_auth(Session-kolommen +device_pairing); bestaande sessies blijven geldig.docs/runbooks/lean-a3a-auth-kern-deploy.mden de sectie "Auth (lean A3a)" inCLAUDE.md.Buiten scope (A3b): pairing-flow,
/setup,/account, wachtwoordbeleid, verwijderen van/users*encreate-admin, alleen-LAN-runbook.Herkomst
docs/superpowers/specs/2026-09-20-lean-a3-auth-design.md(revisie 3, dubbele GO, errata E1–E9).docs/superpowers/plans/2026-09-20-lean-a3a-auth-kern.md(revisie 6, dubbele GO na zes reviewrondes doormac:codexenscrum4me-server:claude; Review record onderaan). De zes patches naast het plan zijn toegepast; de codeboom na taak 6 is identiek aan de referentie-implementatie.fix(auth): proxy herzegelt niet op publieke paden) is ná de GO toegevoegd met akkoord van JP en is niet door de reviewers beoordeeld; het lost de MINOR uit ronde 6 op.Verificatie (lokaal, macOS)
typecheck,lint(0 errors, 3 bestaande warnings),buildgroen;server-reference-manifest.jsonbevat de gewikkelde actions.deploy/media-organizer.env.sopsen de baseline-migratie zijn onaangeroerd.Open gates — niet door een agent
SESSION_SECRET.🤖 Generated with Claude Code
APPROVED
Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
Review-notities
De diff volgt de relevante productstandaarden die ik heb getoetst: de proxy blijft in
src/proxy.tsmet namedproxy, houdt CSRF/CSP/auth-redirects centraal, en de nieuwe auth-laag laat pagina's/actions viaprotectedPage/protectedActionlopen terwijl API-routes viarequirePrincipaleen rij-gebaseerde sessiecontrole doen. De/api/s4m-uitzondering blijft cookie-only viacopilotRequireSession, wat past bij de eis dat apparaat-tokens daar niet geldig zijn. Tests en guard-tests zijn uitgebreid rond sessie-intrekking, device-tokenregels, CSRF, safe next-paths en pagina/action-vormcontrole.