feat: Passwordless cross-device authentication

- Arkitektur: docs/auth/passwordless-architecture.md
- Backend: iom/quixzoom-auth-service/ (FastAPI + Redis)
- Webb: quixzoom-market-pages/se/login/ (QR-kod + polling)
- App: iom/quixzoom-app/src/features/auth/ (push + deep links)

Flöde: QR-kod → app-godkännande → webb-inloggad
This commit is contained in:
Bernt
2026-07-07 07:11:50 +00:00
parent 4aa984ad74
commit 6989a98d75
61843 changed files with 5491611 additions and 872231 deletions
+4 -4
View File
@@ -137,7 +137,7 @@
.nav-logo .x { color: var(--blue); }
.hero { background: var(--white); padding: 64px 24px; text-align: center; border-bottom: 1px solid #e8eaf0; }
.hero img { max-width: 100%; width: 800px; border-radius: 16px; box-shadow: 0 8px 32px rgba(0,0,0,.1); margin-bottom: 32px; }
.hero img { max-width: 100%; width: 800px; border-radius: var(--radius-lg); box-shadow: 0 8px 32px rgba(0,0,0,.1); margin-bottom: 32px; }
h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 900; letter-spacing: -.04em; color: var(--dark); margin-bottom: 12px; }
h1 .x { color: var(--blue); }
.hero p { font-size: 1.0625rem; color: var(--muted); max-width: 600px; margin: 0 auto 24px; line-height: 1.65; }
@@ -147,7 +147,7 @@
main { max-width: 900px; margin: 0 auto; padding: 56px 24px; }
.variant-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin: 32px 0; }
.variant-card { background: var(--white); border-radius: 12px; padding: 20px; border: 1px solid #e8eaf0; }
.variant-card { background: var(--white); border-radius: var(--radius-md); padding: 20px; border: 1px solid #e8eaf0; }
.variant-card .spelling { font-size: 1.125rem; font-weight: 700; color: var(--dark); margin-bottom: 4px; }
.variant-card .note { font-size: .875rem; color: var(--muted); }
.variant-card.correct { border-color: var(--blue); }
@@ -193,7 +193,7 @@
<div class="variant-grid">
<div class="variant-card correct">
<div class="spelling">quiXzoom</div>
<div class="note"> Official spelling — capital X</div>
<div class="note"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M3 8L6.5 11.5L13 4.5" stroke="#22c55e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg> Official spelling — capital X</div>
</div>
<div class="variant-card">
<div class="spelling">quixzoom</div>
@@ -253,7 +253,7 @@
title="quiXzoom App — iOS and Android"
width="800" height="420"
loading="lazy"
style="max-width:100%; border-radius:16px; box-shadow:0 8px 32px rgba(0,0,0,.1);"
style="max-width:100%; border-radius: var(--radius-lg); box-shadow:0 8px 32px rgba(0,0,0,.1);"
>
</div>