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.
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.

- 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.

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.

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.

Código y documentación disponibles.