{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 2.1", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "**************\nAPI MIDDLEWARE\n**************\nLa aplicacion utiliza la libreria `PYJWT `_ para agregar un token a cada request y a cada response mediante un middleware personalizado.\n\nInstalacion\n============\nAgregar a la lista de aplicaciones.\n\n.. code-block::\n\n INSTALLED_APPS = [\n ...\n 'authorized'\n ]\n\nAgregar el middleware **al inicio** de la lista.\n\n.. code-block::\n\n MIDDLEWARE = [\n 'authorized.middleware.APIAuthRequestMiddleware',\n ...\n ]\n\nAgregar las variables ***Requerido**\n\nEn el archivo `settings.py` agregar las variables.\n\n.. code-block::\n\n APP_NAME = 'Awesome App'\n IGNORED_PATHS = []\n\nEn el archivo `docker-compose.yml`\n\n.. code-block::\n\n service:\n ...\n environment:\n - APP_KEY=secret\n\nAplicar las migraciones del middleware.\n\n.. code-block::\n\n $ python manage.py migrate authorized\n\nUso\n=====\nRequests\n########\nPara que el middleware funcione se necesita agregar el header\n:: \n\n 'Application-Token':token \n\nPara evitar hacerlo se creo una \"mascara\" de la libreria `python requests `_ que agrega el token automaticamente, sin alterar su funcionalidad.\nImportar el modulo.\n::\n\n from authorized import api_request\n\nhacer los request de forma normal, ie.\n::\n \n api_request.get('url', params)\n\nTodos los metodos de python requests estan disponibles en el modulo api_request:\n\n- get\n- post\n- put\n- patch\n- delete\n- options\n- head\n\nPara 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.\n\n.. code-block::\n \n api_request.get('https://jsonplaceholder.typicode.com/posts/1', is_external=True)\n\n\nInformacion adicional sobre python requests consultar `Aqui `_\n\nCorrer Tests\n=============\nPara ejecutar los tests de la aplicacion `authorized`, ejecutar el comando.\n\n.. code-block::\n\n python manage.py test authorized", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://www.example.com/", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "django-api-middleware", "package_url": "https://pypi.org/project/django-api-middleware/", "platform": "", "project_url": "https://pypi.org/project/django-api-middleware/", "project_urls": { "Homepage": "https://www.example.com/" }, "release_url": "https://pypi.org/project/django-api-middleware/0.0.6b1/", "requires_dist": null, "requires_python": "", "summary": "Un middleware que agrega un token a cada request y response entre microservicios de los que se tiene propiedad.", "version": "0.0.6b1" }, "last_serial": 4387827, "releases": { "0.0.1a1": [ { "comment_text": "", "digests": { "md5": "1791f93fe47b7b90b49fe7e5bca8a08e", "sha256": "ecefa958bf3771dd3331b55951eb1671530fea0024a1d3aac7cd2a2b649301f2" }, "downloads": -1, "filename": "django-api-middleware-0.0.1a1.tar.gz", "has_sig": false, "md5_digest": "1791f93fe47b7b90b49fe7e5bca8a08e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10077, "upload_time": "2018-04-18T17:48:06", "url": "https://files.pythonhosted.org/packages/f2/91/77dd3198e7c6261c5db3254faf89daefa1bba941bc5112b5a71f484058d3/django-api-middleware-0.0.1a1.tar.gz" } ], "0.0.2a1": [ { "comment_text": "", "digests": { "md5": "0c890d528a7738fd96a5e2e350f89901", "sha256": "c5cc0b7ebe75d5c6b574c5951b0eb15784e57b0710ed28049e80a1d5a632d939" }, "downloads": -1, "filename": "django-api-middleware-0.0.2a1.tar.gz", "has_sig": false, "md5_digest": "0c890d528a7738fd96a5e2e350f89901", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11182, "upload_time": "2018-05-30T06:28:20", "url": "https://files.pythonhosted.org/packages/18/1c/7e25c80dbb460f1123b168fb59fd8cf711bb923ece7ca74aa98ecbbada5f/django-api-middleware-0.0.2a1.tar.gz" } ], "0.0.2b1": [ { "comment_text": "", "digests": { "md5": "4c21664625bd4fca5c44d221cffa7220", "sha256": "f9055d095d47cf7f3a5dc0558d2730460a8b1ded41a2e9ac2e4dadec7fff9001" }, "downloads": -1, "filename": "django-api-middleware-0.0.2b1.tar.gz", "has_sig": false, "md5_digest": "4c21664625bd4fca5c44d221cffa7220", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10489, "upload_time": "2018-08-08T18:51:07", "url": "https://files.pythonhosted.org/packages/e9/96/3c91e096b198380fc9717637814d7a3282238b31d5e33d1dd8fd5fedd4ef/django-api-middleware-0.0.2b1.tar.gz" } ], "0.0.3b1": [ { "comment_text": "", "digests": { "md5": "37a35a6b3816964bef409156320c7658", "sha256": "65dd0178f6d995eac49cfa0867e730a28b049a8f0c063f6d78c5953ad3a23e20" }, "downloads": -1, "filename": "django-api-middleware-0.0.3b1.tar.gz", "has_sig": false, "md5_digest": "37a35a6b3816964bef409156320c7658", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10490, "upload_time": "2018-08-08T19:04:57", "url": "https://files.pythonhosted.org/packages/79/c7/a27cd4fc4ba6e3e7ce386d6b881cee23b70b9313d0f010dc090eece60663/django-api-middleware-0.0.3b1.tar.gz" } ], "0.0.4b1": [ { "comment_text": "", "digests": { "md5": "07e2f6e601c077cc1c15d45846e01dfe", "sha256": "a44dfa744e2ed1bd9072eccd020888a0e16dac43438607fc71f636a21a0aa056" }, "downloads": -1, "filename": "django-api-middleware-0.0.4b1.tar.gz", "has_sig": false, "md5_digest": "07e2f6e601c077cc1c15d45846e01dfe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10486, "upload_time": "2018-08-08T19:17:12", "url": "https://files.pythonhosted.org/packages/31/47/84daeecb77d600265c191bd681bfed5c1c914e1da35d71770c9f8f379c53/django-api-middleware-0.0.4b1.tar.gz" } ], "0.0.5b1": [ { "comment_text": "", "digests": { "md5": "f017ab591e40ec340ec684ad5607ff9b", "sha256": "9ed36ea0cae9dd35bba01a8331f7e5d563b8565affe6dd9a5cb84328abfd5859" }, "downloads": -1, "filename": "django-api-middleware-0.0.5b1.tar.gz", "has_sig": false, "md5_digest": "f017ab591e40ec340ec684ad5607ff9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10562, "upload_time": "2018-10-17T17:32:51", "url": "https://files.pythonhosted.org/packages/97/db/0dd903fed7e7a31c9fa6d6cb2b7655e14bd01fa1cdc83286a23548acb1b0/django-api-middleware-0.0.5b1.tar.gz" } ], "0.0.6b1": [ { "comment_text": "", "digests": { "md5": "faa0fe0d21d73651ab5d903b80cb969e", "sha256": "a044e7ce5fad5e1a6728dcc81878dd43a81a4a4e4e40731ba11bc0118965b0b3" }, "downloads": -1, "filename": "django-api-middleware-0.0.6b1.tar.gz", "has_sig": false, "md5_digest": "faa0fe0d21d73651ab5d903b80cb969e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10587, "upload_time": "2018-10-17T21:39:23", "url": "https://files.pythonhosted.org/packages/78/c4/e124b421e929afb93b53e7730418122875e438b2ad26b45e4e7f4a3381da/django-api-middleware-0.0.6b1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "faa0fe0d21d73651ab5d903b80cb969e", "sha256": "a044e7ce5fad5e1a6728dcc81878dd43a81a4a4e4e40731ba11bc0118965b0b3" }, "downloads": -1, "filename": "django-api-middleware-0.0.6b1.tar.gz", "has_sig": false, "md5_digest": "faa0fe0d21d73651ab5d903b80cb969e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10587, "upload_time": "2018-10-17T21:39:23", "url": "https://files.pythonhosted.org/packages/78/c4/e124b421e929afb93b53e7730418122875e438b2ad26b45e4e7f4a3381da/django-api-middleware-0.0.6b1.tar.gz" } ] }