En primer lugar, se debe clonar el repositorio de manera local:
git clone https://github.com/JulianP911/MISW4202-Arquitecturas-Agiles.git
- Ubicarse en la carpeta "Experimento - Seguridad":
cd '.\Experimento - Seguridad'
En esta carpeta encontrarás tres subcarpetas correspondientes a los componentes autorizador, de registro y de socio. Las funcionalidades de cada uno de ellos son las siguientes:
- Crear un usuario en la base de datos a partir de un nombre de usuario y una contraseña (la contraseña se almacena encriptada).
- Entregar el hash correspondiente de la contraseña registrada a partir de un nombre de usuario.
- Validar la contraseña a partir de un usuario y una contraseña. Esto se realiza haciendo una solicitud al microservicio de registro y comparando el hash recibido. Si la contraseña es válida, se envía un OTP.
- Verificar la autenticidad de un OTP recibido. Si es válido, se genera y envía un token.
- Validar la autenticidad de un token recibido.
- Proporcionar información sobre deportistas si el token del usuario es válido. Esta validación se realiza consumiendo el servicio de autenticación.
Instalar las librerías necesarias:
pip install -r requirements.txt
Ingresar a la carpeta "Autorizador":
cd Autorizador
Correr el archivo:
flask run
Asegurarse de que está corriendo en el puerto 5000.
En otra terminal ingresar a la carpeta "Registro":
cd Registro
Correr el archivo:
flask run --port 8080
Asegurarse de que está corriendo en el puerto 8080.
En otra terminal ingresar a la carpeta "Socio":
cd Socio
Correr el archivo:
flask run --port 8000
Asegurarse de que está corriendo en el puerto 8000.
Teniendo los tres componentes activos se ingresa a Postman para lanzar las peticiones personificando un usuario
Las colecciones predefinidas están disponibles en la carpeta Experimento - Seguridad/Seguridad.postman_collection.json
. Puedes importar estas colecciones en tu instancia de Postman para un acceso rápido a las solicitudes necesarias.
video2284129733.mp4
En primer lugar, se debe clonar el repositorio de manera local:
git clone https://github.com/JulianP911/MISW4202-Arquitecturas-Agiles.git
- Bajar la imagen de RabbitMQ a Docker:
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.13-management
Asegurarse de que RabbitMQ se encuentra en ejecución.
- Ubicarse en la carpeta "Experimento - Disponibilidad":
cd '.\Experimento - Disponibilidad'
En esta carpeta, encontrarás tres subcarpetas correspondientes a la plataforma de mensajería (queues), el monitor (monitor), y el componente de notificaciones (gestor_notificaciones).
Instalar las librerías necesarias:
pip install -r requirements.txt
Ingresar a la carpeta "queues":
cd queues
Correr el archivo producer.py
:
python producer.py
Asegurarse de que está corriendo en el puerto 5000.
Ingresar a la carpeta "gestor_notificaciones":
cd gestor_notificaciones
Correr el archivo app.py
:
flask run
Ingresar a la carpeta "monitor":
cd monitor
Correr el archivo app.py
:
python app.py
Asegurarse de que está corriendo en un puerto distinto al 5000.
- Ingresar a Postman y realizar la petición GET a la siguiente URL:
http://127.0.0.1:8000/estado
Asegurarse de cambiar el puerto si el monitor está corriendo en un puerto distinto.