Metadata-Version: 1.1
Name: aiohttp-basicauth-middleware
Version: 1.0.1
Summary: An incredibly simple HTTP basic auth implementation for Aiohttp.
Home-page: https://github.com/bugov/aiohttp-basicauth-middleware
Author: Georgy Bazhukov
Author-email: georgy.bazhukov@gmail.com
License: BSD
Description-Content-Type: UNKNOWN
Description: # aiohttp-basicauth-middleware
        
        [![Build Status](https://travis-ci.org/bugov/aiohttp-basicauth-middleware.svg?branch=master)](https://travis-ci.org/bugov/aiohttp-basicauth-middleware)
        
        
        Aiohttp middleware for simple http basic
        auth protection for some urls.
        
        Works with Python >= 3.5.
        
        Works with UTF-8 🖖
        
        ## Installation
        
            pip install aiohttp-basicauth-middleware
        
        ## Usage
        
        ```python
        app = web.Application(loop=loop)
        
        app.router.add_route('GET', '/hello', handler_a)
        app.router.add_route('GET', '/admin/hello', handler_b)
        
        app.middlewares.append(
            basic_auth_middleware(
                ('/admin',),
                {'user': 'password'},
            )
        )
        ```
        
        `basic_auth_middleware` has 3 params:
        
        1. list of protected urls. For example `['/admin']` will match
           with `/admin/user`, but will not match with `/user/admin`.
        2. auth dict – a dict with pairs: login-password.
        3. strategy (optional) for password comparision. For example you can
           store hashed password in `auth_dict`.
        
        Example with md5 password hashing:
        
        ```python
        app = web.Application(loop=loop)
        
        app.router.add_route('GET', '/hello', handler_a)
        app.router.add_route('GET', '/admin/hello', handler_b)
        
        app.middlewares.append(
            basic_auth_middleware(
                ('/admin',),
                {'user': '5f4dcc3b5aa765d61d8327deb882cf99'},
                lambda x: hashlib.md5(bytes(x, encoding='utf-8')).hexdigest(),
            )
        )
        ```
        
        `/admin/...` will be accessed by the same login+password pair ('user', 'password').
        
Keywords: aiohttp security basicauth http middleware
Platform: UNKNOWN
Classifier: License :: Public Domain
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires: http_basic_auth
Requires: aiohttp
