Skip to main content

Flujo de Autenticación

Esta guía explica en detalle cómo funciona el proceso de autenticación con Camarauth SDK, desde que el usuario hace click hasta que está autenticado.

Diagrama de Secuencia

Fase 1: Generación del PIN

1. Usuario inicia el proceso

El usuario hace click en “Iniciar sesión” en la aplicación frontend.

2. Frontend solicita PIN

Internamente, esto:
  1. Genera un PIN aleatorio (ej: ABC123)
  2. Codifica el PIN en emojis (ej: 🎉🔥✨)
  3. Crea un link de WhatsApp
  4. Genera un código QR

3. Backend registra el PIN

4. Frontend muestra al usuario

Fase 2: Verificación por WhatsApp

5. Usuario envía el PIN

El usuario abre WhatsApp (escaneando el QR o haciendo click en el link) y envía los emojis al número de negocio.

6. Evolution API recibe el mensaje

Evolution API (conectada a tu instancia de WhatsApp Business) detecta el mensaje entrante.

7. Webhook al backend

Evolution API envía un webhook a tu backend:

8. Backend decodifica y verifica

Fase 3: Autenticación Exitosa

9. Buscar usuario

El backend busca el usuario asociado al número de teléfono:

10. Generar tokens JWT

11. Notificar al frontend

12. Frontend autentica al usuario

13. Redirigir al dashboard

Refresh Token

Cuando el access token expira (15 minutos), se usa el refresh token para obtener uno nuevo:

Logout

Estados del PIN

Consideraciones de Seguridad

  • Los PINs expiran en 3 minutos por defecto
  • Solo se puede usar una vez
  • Rate limiting evita fuerza bruta
  • Tokens JWT tienen expiración corta (15 min)
  • Refresh tokens rotan en cada uso

Para Desarrolladores

Debugging

Para debuggear el flujo:

Testing