← Volver al portfolio

Desarrollo colaborativo · Autenticación y pruebas

Poké-Hub

Un repositorio de modelos y conjuntos de datos de Pokémon en el que desarrollé la autenticación en dos pasos y sus mecanismos de recuperación.

Periodo
Nov–Dic 2025
Equipo
12 personas · dos equipos de 6
Contexto
Ampliación académica de UVLHub para un repositorio de modelos y conjuntos de datos de Pokémon.
Mi función
Autenticación en dos pasos: lógica, interfaz y pruebas

Mi contribución

Implementé el flujo de autenticación en dos pasos, desde las pantallas y la clave secreta cifrada hasta los códigos de recuperación y las pruebas.

  • Python
  • Flask
  • Jinja2
  • SQLAlchemy
  • MariaDB
  • PyOTP
  • cryptography
  • Pytest
  • Selenium
  • GitHub Actions
Logotipo de Poké-Hub
Poké-Hub: repositorio de modelos y conjuntos de datos de Pokémon.
  • 2FA de principio a fin
  • Dos equipos de 6 personas

Ampliar una aplicación existente

Poké-Hub parte de UVLHub y adapta su catálogo a modelos y conjuntos de datos de Pokémon, siguiendo principios de reutilización y ciencia abierta. El trabajo se organizó en dos equipos de seis personas sobre un repositorio común.

Dentro de mi equipo me encargué de la autenticación en dos pasos: añadir seguridad sin perder un recorrido comprensible de configuración, acceso y recuperación.

Ajustes de seguridad de Poké-Hub
Autenticación en dos pasos activada en una cuenta de prueba.

De la configuración al inicio de sesión

  • Configuración TOTP con código QR o introducción manual de la clave secreta y confirmación mediante un código de seis dígitos.
  • Cifrado de la clave secreta de autenticación con Fernet antes de persistirla.
  • Verificación adicional al iniciar sesión y desactivación protegida mediante contraseña.
  • Pantallas Jinja para configurar, verificar y recuperar el acceso.
Pantalla original de verificación de doble factor de Poké-Hub
Verificación de doble factor para iniciar sesión.

Recuperación y comprobaciones

Implementé códigos de recuperación de un solo uso, almacenados mediante hash y consumidos al utilizarlos, para permitir el acceso si se pierde el dispositivo de autenticación.

Añadí pruebas unitarias, de integración y de navegador con Selenium, además de un escenario de carga con Locust y ajustes del entorno de integración continua.

Pantalla original de códigos de recuperación de Poké-Hub
Códigos de recuperación para una cuenta de prueba.

Código y documentación disponibles.