Skip to content
/ api Public

Creación de API sencilla para Front-End y Backend para pruebas de Framework

License

Notifications You must be signed in to change notification settings

nvarona/api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

       .o.       ooooooooo.   ooooo o8o          
      .888.      `888   `Y88. `888' `YP          
     .8"888.      888   .d88'  888   '   .oooo.o 
    .8' `888.     888ooo88P'   888      d88(  "8 
   .88ooo8888.    888          888      `"Y88b.  
  .8'     `888.   888          888      o.  )88b 
 o88o     o8888o o888o        o888o     8""888P' 

Para crear una API con autenticación de usuario, podríamos utilizar un sistema de tokens de acceso. Aquí les dejo un ejemplo básico usando Flask, que es un popular framework de Python para desarrollo web:

El usuario puede iniciar sesión enviando una solicitud POST a /login con un JSON que contiene su nombre de usuario y contraseña.

Después del inicio de sesión exitoso, se genera un token de acceso y se devuelve al cliente.

Los otros métodos:

  • /login
  • /datos_privados
  • /actualizar_datos
  • /eliminar_cuenta
  • /exportar_csv

Requieren que el cliente envíe el token de acceso en el encabezado Authorization.

El front-end utilizando HTML y JavaScript para hacer llamadas a los métodos que hemos creado en la API Flask.

Los métodos protegidos verifican si el token de acceso es válido antes de permitir el acceso.

Este es solo un ejemplo básico y simplificado. En un entorno de producción, es importante considerar la seguridad, como el almacenamiento seguro de contraseñas y la generación segura de tokens de acceso. Además, podría considerar el uso de bibliotecas como Flask-JWT-Extended para manejar la autenticación de manera más robusta.

Tambien vamos a modificar y añdir la funcionalidad de llenar una base de datos utilizando la API que hemos estado creando, y con una opcion de exportar el contenido en un archivo CSV

Arranque del Backend, realizado en Python+Fork

Para ejecutar la parte del Backend realizada en Python utilizando Flask, primero necesitas asegurarte de tener Flask instalado. Puedes instalarlo usando pip si aún no lo has hecho:

$ pip install Flask

Una vez que tienes Flask instalado, puedes guardar el código del Backend en un archivo Python, por ejemplo api.py, y luego ejecutarlo desde la línea de comandos con el siguiente comando:

$ python api.py

Esto iniciará el servidor Flask y comenzará a escuchar en el puerto predeterminado (generalmente el puerto 5000). Si necesitas cambiar el puerto, puedes especificarlo agregando el argumento -p seguido del número de puerto deseado al comando de ejecución.

Por ejemplo, para ejecutar en el puerto 8000:

$ python api.py -p 8000

Una vez que el servidor esté en funcionamiento, podremos acceder a nuestra API desde el Front-End (index.html) o cualquier otra aplicación que necesitemos interactuar con ella.

En cuanto a la parte del Fork, si te refieres a bifurcar el repositorio de código en un sistema de control de versiones como Git, simplemente necesitas hacer una copia del repositorio principal en tu cuenta personal. Luego, puedes hacer tus propios cambios en tu copia del repositorio sin afectar al repositorio original. Una vez que hayas hecho tus cambios, puedes enviar una solicitud de extracción (pull request) al repositorio original para solicitar que tus cambios se integren en él.

En este código, he importado la extensión CORS de Flask-CORS y he añadido CORS(app) para habilitar CORS para toda la aplicación. Esto permite que todas las rutas de la API acepten solicitudes CORS desde cualquier origen.

Con esta modificación, la API ahora debería permitir solicitudes desde el front-end sin que se produzcan errores de CORS. Asegúrate de instalar Flask-CORS en tu entorno Python si aún no lo has hecho. Puedes instalarlo con pip ejecutando:

$ pip install flask-cors

El código de la API parece estar bien estructurado y correctamente implementado. Aquí hay algunos puntos para repasar:

Autenticación: El método de inicio de sesión (/login) verifica las credenciales del usuario y genera un token de acceso. Este token se utiliza para autorizar las solicitudes a los endpoints protegidos.

Autorización: Los métodos protegidos (/datos_privados, /actualizar_datos, /eliminar_cuenta, /exportar_csv) verifican si el token de acceso proporcionado en el encabezado Authorization es válido antes de realizar cualquier operación.

Seguridad: El token de acceso generado es muy simple (solo token_{usuario}), pero podría ser mejorado utilizando bibliotecas como JWT para generar tokens más seguros y con información adicional como la expiración.

Exportar a CSV: El método exportar_csv guarda los datos almacenados en un archivo CSV. Asegúrate de tener instalada la biblioteca csv (pip install csv) y que se importe al principio del archivo (import csv) para que funcione correctamente.

CORS: La configuración de CORS parece estar bien. Está habilitada para toda la aplicación y solo permite solicitudes desde http://127.0.0.1:8000, que es la dirección donde se ejecutará el front-end.

En resumen, el código parece estar completo y correctamente implementado para proporcionar autenticación, autorización y funcionalidad básica de una API. Si necesitas más ayuda o tienes alguna pregunta específica, no dudes en preguntar.

About

Creación de API sencilla para Front-End y Backend para pruebas de Framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published