feat(auth): cross-app QR-login voor scrum4me-workers #50
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/qr-cross-app-login"
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?
Doel
QR-login voor scrum4me-workers (naast wachtwoord): scan op
/loginmet een telefoon die in scrum4me-web is ingelogd → de workers-desktop krijgt een admin-sessie. Cross-app, purely additive.Aanpak
Workers maakt een
LoginPairing(pending)in de gedeelde Postgres; de telefoon keurt goed via scrum4me-web's bestaande/m/pair(ongewijzigd); de workers-desktop polltGET /api/auth/pair/statusen claimt viaPOST /api/auth/pair/claim. De security-grens ligt volledig in de claim: transactioneel rol-check (niet-demo + ADMIN) vóór de atomic consume → mints4m_workers_session.Wat is toegevoegd (additief)
lib/auth/pairing.ts(sha256-crypto, cross-app parity),lib/auth/pair-cookie.ts(s4m_pair)WEB_APP_BASE_URLenv (gevalideerd, defaulthttps://thuis.jp-visser.nl)pair-start; proxy laat/api/auth/pair/*anoniem doorstart/status(geen data-lek) /claim(admin/demo-gate)/login(poll → claim), MD3-stylingReviews & gates
scrum4me-postgres, DBscrum4me).npm run verifygroen: 571 passed, 2 skipped (90 files).Geen
vendor/scrum4me-shared.Deploy
WEB_APP_BASE_URL(default volstaat voorthuis.jp-visser.nl; override in/srv/scrum4me/secrets/workers.envindien nodig).WEB_APP_BASE_URL) is een post-deploy check.Spec/plan:
docs/superpowers/{specs,plans}/2026-06-15-cross-app-qr-login*.md. Scrum4Me: Sprint S-2026-06-15-1, PBI-9, Story ST-012, taken T-32…T-42.🤖 Generated with Claude Code