Saltar al contenido principal

Verificar código de acceso por 2FA

Endpoint: POST /auth/login/2fa

Este endpoint completa el proceso de login cuando el usuario tiene 2FA habilitado. Valida el código TOTP y, si es correcto, devuelve un access token de sesión.


📝 Cuerpo de la solicitud

{
"code": "123456",
"token": "session-token"
}
  • code (requerido): código TOTP de 6 dígitos generado por la app autenticadora.
  • token (requerido): token de sesión temporal recibido en el paso previo del login.

✅ Respuesta exitosa

200 OK — 2FA verificado

{
"code": 1001,
"message": "Login successful.",
"data": {
"token": "access-token",
"user": {
"...": "user-data"
}
}
}

Notas:

  • data.token es el access token final (JWT).
  • data.user contiene información del usuario retornada por el backend.

❌ Errores

400 Bad Request — Datos inválidos (4006)

Ocurre si faltan campos o no cumplen formato (por ejemplo: code no es 6 dígitos).

{
"code": 4006,
"message": "Missing or invalid data"
}

401 Unauthorized — Token de sesión inválido o expirado (4015)

Ocurre si el token no existe en Redis o expiró.

{
"code": 4015,
"message": "Invalid or expired session token"
}

401 Unauthorized — Código 2FA inválido (4005)

Ocurre si el code es incorrecto.

{
"code": 4005,
"message": "Invalid 2FA code"
}

📝 Nota

Si tienes problemas con la verificación:

  • Asegúrate de que el código sea el actual (los TOTP cambian cada ~30s).
  • Verifica que el token de sesión no haya expirado.