{ "info": { "author": "Roman Snegirev", "author_email": "snegiryev@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "## aiohttp-basicauth\n\n[![Build Status](https://travis-ci.org/romis2012/aiohttp-basicauth.svg?branch=master)](https://travis-ci.org/romis2012/aiohttp-basicauth)\n[![Coverage Status](https://coveralls.io/repos/github/romis2012/aiohttp-basicauth/badge.svg?branch=master)](https://coveralls.io/github/romis2012/aiohttp-basicauth?branch=master)\n[![PyPI version](https://badge.fury.io/py/aiohttp-basicauth.svg)](https://badge.fury.io/py/aiohttp-basicauth)\n\nHTTP basic authentication middleware for aiohttp 3.0+. \nInspired by [Flask-BasicAuth](https://github.com/jpvanhal/flask-basicauth).\n\n## Requirements\n- Python >= 3.5.3\n- aiohttp >= 3.0\n\n## Installation\n```\npip install aiohttp_basicauth\n```\n\n## Simple usage\n\n```python\nfrom aiohttp import web\nfrom aiohttp_basicauth import BasicAuthMiddleware\n\n\nauth = BasicAuthMiddleware(username='user', password='password')\napp = web.Application(middlewares=[auth])\n\nweb.run_app(app, host='127.0.0.1', port=80)\n```\n\n## Protect specific view(s)\n```python\nfrom aiohttp import web\nfrom aiohttp_basicauth import BasicAuthMiddleware\n\nauth = BasicAuthMiddleware(username='user', password='password', force=False)\n\n\nasync def public_view(request):\n return web.Response(text='Public view')\n\n\n@auth.required\nasync def secret_view(request):\n return web.Response(text='Secret view')\n\n\napp = web.Application(middlewares=[auth])\n\napp.router.add_route('GET', '/public', public_view)\napp.router.add_route('GET', '/secret', secret_view)\n\nweb.run_app(app, host='127.0.0.1', port=80)\n```\n\n## Advanced usage\n\nYou can override ```check_credentials``` method to implement specific user verification logic:\n\n```python\nfrom aiohttp import web\nfrom aiohttp_basicauth import BasicAuthMiddleware\n\n\nclass CustomBasicAuth(BasicAuthMiddleware):\n async def check_credentials(self, username, password):\n return username == 'user' and password == 'password'\n\n\nauth = CustomBasicAuth()\napp = web.Application(middlewares=[auth])\n\nweb.run_app(app, host='127.0.0.1', port=80)\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/romis2012/aiohttp-basicauth", "keywords": "aiohttp http basic auth", "license": "Apache 2", "maintainer": "", "maintainer_email": "", "name": "aiohttp-basicauth", "package_url": "https://pypi.org/project/aiohttp-basicauth/", "platform": "", "project_url": "https://pypi.org/project/aiohttp-basicauth/", "project_urls": { "Homepage": "https://github.com/romis2012/aiohttp-basicauth" }, "release_url": "https://pypi.org/project/aiohttp-basicauth/0.1.3/", "requires_dist": [ "aiohttp (>=3.0)" ], "requires_python": "", "summary": "HTTP basic authentication middleware for aiohttp 3.0+", "version": "0.1.3" }, "last_serial": 5606609, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ec073aa3385013b059d884a9ad44601a", "sha256": "b538f38084b9c535a5bbb983474bd8faab6d71e3237ac9385d2cfa8fe5b12d83" }, "downloads": -1, "filename": "aiohttp_basicauth-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ec073aa3385013b059d884a9ad44601a", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 3112, "upload_time": "2018-06-07T11:05:20", "url": "https://files.pythonhosted.org/packages/9c/02/8b1e5a76c3b5f2914cac9ca4a48b71a833bd214f85e557a8fd327e293508/aiohttp_basicauth-0.1.0-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "bdc2cc18d8b1760458e329f1bd6ee95e", "sha256": "277d071c29256e10b4650f1bffee7c2007d914da0c2036e2ab621eb7b2096b2d" }, "downloads": -1, "filename": "aiohttp_basicauth-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bdc2cc18d8b1760458e329f1bd6ee95e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6983, "upload_time": "2018-12-14T04:23:31", "url": "https://files.pythonhosted.org/packages/a3/42/10ad721f710b7d3efdb961c9848b0cda3356f714008de9e4e1cc94c0c9c4/aiohttp_basicauth-0.1.2-py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "fe76712866cb3688c9edda67404133f7", "sha256": "02bc53659ed90fcd97fe541e0aa61c1d415ec7304d4757aedb58aa70ca6df358" }, "downloads": -1, "filename": "aiohttp_basicauth-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "fe76712866cb3688c9edda67404133f7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6981, "upload_time": "2019-07-30T09:03:48", "url": "https://files.pythonhosted.org/packages/92/d2/923a195b4f20e9dc62051a76e770ee4851181a8ef45b5b5b1dab3ae0c8ba/aiohttp_basicauth-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "075f9bc860bb2b0356e9601595edf826", "sha256": "3f5f05b064c4601bbf24cac42cd55def779aa266cfbd1fe1630ea4a058779003" }, "downloads": -1, "filename": "aiohttp_basicauth-0.1.3.tar.gz", "has_sig": false, "md5_digest": "075f9bc860bb2b0356e9601595edf826", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6776, "upload_time": "2019-07-30T09:03:49", "url": "https://files.pythonhosted.org/packages/84/12/7037f55d695e7edbf6f1303570ea39ef606a00362d906d54fa9967383042/aiohttp_basicauth-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fe76712866cb3688c9edda67404133f7", "sha256": "02bc53659ed90fcd97fe541e0aa61c1d415ec7304d4757aedb58aa70ca6df358" }, "downloads": -1, "filename": "aiohttp_basicauth-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "fe76712866cb3688c9edda67404133f7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6981, "upload_time": "2019-07-30T09:03:48", "url": "https://files.pythonhosted.org/packages/92/d2/923a195b4f20e9dc62051a76e770ee4851181a8ef45b5b5b1dab3ae0c8ba/aiohttp_basicauth-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "075f9bc860bb2b0356e9601595edf826", "sha256": "3f5f05b064c4601bbf24cac42cd55def779aa266cfbd1fe1630ea4a058779003" }, "downloads": -1, "filename": "aiohttp_basicauth-0.1.3.tar.gz", "has_sig": false, "md5_digest": "075f9bc860bb2b0356e9601595edf826", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6776, "upload_time": "2019-07-30T09:03:49", "url": "https://files.pythonhosted.org/packages/84/12/7037f55d695e7edbf6f1303570ea39ef606a00362d906d54fa9967383042/aiohttp_basicauth-0.1.3.tar.gz" } ] }