Skip to main content

Un middleware que agrega un token a cada request y response entre microservicios de los que se tiene propiedad.

Project description

La aplicacion utiliza la libreria PYJWT para agregar un token a cada request y a cada response mediante un middleware personalizado.

Instalacion

Agregar a la lista de aplicaciones.

INSTALLED_APPS = [
    ...
    'authorized'
]

Agregar el middleware al inicio de la lista.

MIDDLEWARE = [
    'authorized.middleware.APIAuthRequestMiddleware',
    ...
]

Agregar las variables *Requerido

En el archivo settings.py agregar las variables.

APP_NAME = 'Awesome App'
IGNORED_PATHS = []

En el archivo docker-compose.yml

service:
...
environment:
    - APP_KEY=secret

Aplicar las migraciones del middleware.

$ python manage.py migrate authorized

Uso

Requests

Para que el middleware funcione se necesita agregar el header

'Application-Token':token

Para evitar hacerlo se creo una “mascara” de la libreria python requests que agrega el token automaticamente, sin alterar su funcionalidad. Importar el modulo.

from authorized import api_request

hacer los request de forma normal, ie.

api_request.get('url', params)

Todos los metodos de python requests estan disponibles en el modulo api_request:

  • get

  • post

  • put

  • patch

  • delete

  • options

  • head

Para peticiones a aplicaciones externas se debe especificar en cada metodo el parametro is_external=True, por defecto el valor es False, esto previene que el middleware evalue que la respuesta provenga de una fuente confiable.

api_request.get('https://jsonplaceholder.typicode.com/posts/1', is_external=True)

Informacion adicional sobre python requests consultar Aqui

Correr Tests

Para ejecutar los tests de la aplicacion authorized, ejecutar el comando.

python manage.py test authorized

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-api-middleware-0.0.6b1.tar.gz (10.6 kB view details)

Uploaded Source

File details

Details for the file django-api-middleware-0.0.6b1.tar.gz.

File metadata

  • Download URL: django-api-middleware-0.0.6b1.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.3.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.19.6 CPython/3.6.6

File hashes

Hashes for django-api-middleware-0.0.6b1.tar.gz
Algorithm Hash digest
SHA256 a044e7ce5fad5e1a6728dcc81878dd43a81a4a4e4e40731ba11bc0118965b0b3
MD5 faa0fe0d21d73651ab5d903b80cb969e
BLAKE2b-256 78c4e124b421e929afb93b53e7730418122875e438b2ad26b45e4e7f4a3381da

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page