Blog
Feature
6 de febrero de 20266 min

Autenticación por código QR: el patrón de WhatsApp Web para TAMSIV

Para conectar el sitio web a la aplicación móvil, quería algo instantáneo. El patrón de WhatsApp Web: escanear un código QR y, ¡boom!, conectado.

El flujo

El usuario abre tamsiv.com → aparece un código QR → escanea con la aplicación → el sitio se conecta instantáneamente. Desde el punto de vista técnico: un ballet de tokens y canales en tiempo real.

La arquitectura

El código QR codifica un UUID de sesión. El sitio crea una entrada en Supabase con estado "pendiente" y se suscribe a través de Realtime. La aplicación móvil escanea, confirma con su JWT existente. El backend genera un token de autenticación para la web.

El sondeo de respaldo

Si Realtime no se conecta en 3 segundos, cambia a un sondeo HTTP cada 2 segundos. Funciona en todas partes, incluso detrás de proxies corporativos.

Seguridad

  • El código QR expira después de 5 minutos
  • Uso único: una sesión solo se puede confirmar una vez
  • Autenticación requerida en el móvil
  • Token efímero para iniciar la sesión web

La experiencia de usuario

Regeneración automática del QR cada 4 minutos y 30 segundos con una cuenta regresiva visual. Opciones de correo electrónico/contraseña y Magic Link como respaldo. ~300 líneas en la web, 150 en el móvil. El tipo de característica que hace decir "está bien pensado".