Blog
Feature
6. Februar 20266 min

QR-Code-Authentifizierung: Das WhatsApp Web-Muster für TAMSIV

Um die Website mit der mobilen App zu verbinden, wollte ich etwas Instantanes. Das WhatsApp Web-Muster: Scannen Sie einen QR-Code und boom, verbunden.

Der Ablauf

Der Benutzer öffnet tamsiv.com → QR-Code wird angezeigt → scannt mit der App → die Website verbindet sich sofort. Aus technischer Sicht: ein Ballett von Tokens und Echtzeitkanälen.

Die Architektur

Der QR-Code kodiert eine Sitzungs-UUID. Die Website erstellt einen Supabase-Eintrag mit dem Status „pending“ und abonniert über Realtime. Die mobile App scannt, bestätigt mit ihrem vorhandenen JWT. Das Backend generiert ein Auth-Token für das Web.

Das Fallback-Polling

Wenn Realtime sich nicht innerhalb von 3 Sekunden verbindet, wird auf HTTP-Polling alle 2 Sekunden umgeschaltet. Funktioniert überall, auch hinter Unternehmensproxys.

Sicherheit

  • QR-Code läuft nach 5 Minuten ab
  • Einmalige Verwendung – eine Sitzung kann nur einmal bestätigt werden
  • Authentifizierung auf mobiler Seite erforderlich
  • Ephemeres Token zur Initiierung der Websitzung

Die UX

Automatische Neuerstellung des QR-Codes alle 4min30 mit visuellem Countdown. E-Mail/Passwort- und Magic Link-Optionen als Backup. ~300 Zeilen auf der Webseite, 150 auf der mobilen Seite. Die Art von Funktion, die einen sagen lässt: „Das ist gut durchdacht“.