fix(auth): QR-login-URL uit x-forwarded-host i.p.v. interne bind-host #88
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/qr-login-proxy-host"
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?
Probleem
QR-login opent op de telefoon een lege pagina. De
start-route bouwde de scan-URL uitnew URL(request.url).origin, wat achter de reverse proxy (Caddy/Vercel) de interne bind-hosthttps://0.0.0.0:3000is — onbereikbaar voor de telefoon die de QR scant.Fix
Lees de publieke host uit de proxy-headers
x-forwarded-host/x-forwarded-proto(die Caddy én Vercel zetten), met de request-origin als fallback voor lokale dev. Consistent met de bestaandex-forwarded-for-afhandeling in dezelfde route. Geen env-wijziging nodig; de QR volgt de host waar de gebruiker op zit (multi-host: scrum4me.com / .nl / thuis.jp-visser.nl).Relatie tot DigiPlein
Port van DigiPlein #16. DigiPlein loste het op met
APP_BASE_URL(single-host); scrum4me is multi-host en heeft die env-var niet, vandaar de proxy-header-aanpak. DigiPlein #17 (pairingId in claim-body) was hier niet van toepassing: scrum4me's claim-client stuurtpairingIdal mee.Verificatie
__tests__/api/pair-start.test.ts): verzoek op0.0.0.0:3000metx-forwarded-hosteist dat de QR de publieke host volgt. RED reproduceerde exact de0.0.0.0-URL → nu GREEN.npm run verify: typecheck schoon, 1489/1489 tests groen.docs/patterns/qr-login.md.🤖 Generated with Claude Code