Sistema de gestión y validación de contraseñas basado en FastAPI. Ragnarok proporciona una API REST para manejar autenticación de usuarios, almacenamiento seguro de credenciales y validación de contraseñas con cifrado.
¿Para quién es? Desarrolladores que necesitan integrar gestión de contraseñas en sus aplicaciones.
¿Qué problema resuelve? Proporciona endpoints seguros para autenticación, registro y manejo de credenciales con criptografía moderna.
- Estado: En desarrollo activo
- Versión: 1.0.0
- Python: 3.8+
- Introducción: Descripción general del proyecto
- Guía de instalación: Configuración del entorno
- Uso / Manual: Endpoints disponibles y ejemplos
- Referencia técnica: Estructura de datos y seguridad
- FAQ: Preguntas frecuentes
- Python 3.8 o superior
- pip (gestor de paquetes)
# Clonar repositorio
git clone https://github.com/usuario/ragnarok.git
cd ragnarok
# Crear entorno virtual (opcional pero recomendado)
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
# Instalar dependencias
pip install -r requirements.txt# Desde la carpeta API
cd API
uvicorn main:app --reloadEl servidor estará disponible en http://localhost:8000
Documentación interactiva: http://localhost:8000/docs
POST /registerPOST /loginPOST /validate-passwordragnarok/
├── API/ # Servidor FastAPI
│ ├── main.py # Aplicación principal
│ ├── users.json # Base de datos de usuarios
│ └── passwords.json # Almacén de contraseñas cifradas
├── src/ # Plantillas y datos
│ ├── users.json
│ └── passwords.json
├── extension/ # Extensiones (navegador, etc.)
├── requirements.txt # Dependencias Python
├── CODE_OF_CONDUCT.md # Código de conducta
├── CONTRIBUTING.md # Guía de contribución
└── README.md # Este archivo
- Las contraseñas se cifran usando Fernet (criptografía simétrica)
- PBKDF2 para derivación de claves
- CORS habilitado para acceso controlado
- Tokens de sesión con secrets seguros
¡Las contribuciones son bienvenidas! Por favor, consulta CONTRIBUTING.md para más detalles.
Este proyecto adhiere a un Código de Conducta. Por favor, consulta CODE_OF_CONDUCT.md.
Este proyecto está bajo la licencia LICENSE
¿Cómo reseteo mi contraseña?
Puedes usar el endpoint /reset-password con tu usuario.
¿Es seguro almacenar mis contraseñas aquí?
Sí, utilizamos criptografía moderna (Fernet) para cifrar todas las contraseñas.
¿Puedo usar esto en producción?
Este es un proyecto educativo. Para producción, considera medidas de seguridad adicionales como HTTPS, bases de datos persistentes, etc.
Para reportar bugs o sugerir mejoras, abre un issue en el repositorio.