Blog
Feature
6 febbraio 20266 min

Autenticazione tramite QR code: il pattern WhatsApp Web per TAMSIV

Per connettere il sito web all'app mobile, volevo qualcosa di istantaneo. Il pattern WhatsApp Web: scansionare un QR code e boom, connesso.

Il flusso

L'utente apre tamsiv.com → viene visualizzato un QR code → lo scansiona con l'app → il sito si connette istantaneamente. Dal punto di vista tecnico: un balletto di token e canali in tempo reale.

L'architettura

Il QR code codifica un UUID di sessione. Il sito crea una voce Supabase con stato "pending" e si abbona tramite Realtime. L'app mobile scansiona, conferma con il suo JWT esistente. Il backend genera un token di autenticazione per il web.

Il fallback polling

Se Realtime non si connette in 3 secondi, passa a un polling HTTP ogni 2 secondi. Funziona ovunque, anche dietro proxy aziendali.

Sicurezza

  • Il QR code scade dopo 5 minuti
  • Uso singolo — una sessione può essere confermata solo una volta
  • Autenticazione richiesta lato mobile
  • Token effimero per avviare la sessione web

L'UX

Rigenerazione automatica del QR ogni 4min30 con countdown visivo. Opzioni email/password e Magic Link come backup. ~300 righe lato web, 150 lato mobile. Il tipo di funzionalità che fa dire "è ben pensato".