Skip to main content

An incredibly simple HTTP basic auth implementation for Aiohttp.

Project description

https://travis-ci.org/bugov/aiohttp-basicauth-middleware.svg?branch=master

Aiohttp middleware for simple http basic auth protection for some urls.

Works with Python >= 3.6.

Works with UTF-8 🖖

Installation

pip install aiohttp-basicauth-middleware

Usage

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. See aiohttp_basicauth_middleware.strategy.BaseStrategy and example.strategy for more information.

Example with md5 password hashing:

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’).

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

aiohttp-basicauth-middleware-1.2.0.tar.gz (4.7 kB view details)

Uploaded Source

File details

Details for the file aiohttp-basicauth-middleware-1.2.0.tar.gz.

File metadata

  • Download URL: aiohttp-basicauth-middleware-1.2.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for aiohttp-basicauth-middleware-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d21dadf4a839be6ceddff0fbce74f678b5e4c3e4a6177d431c69b662f77922d3
MD5 59f4562e99d4d9636d013e7c555cc05f
BLAKE2b-256 0582a4dafcf373255b764e23d590c5aa35938e8b54d350c760fe29f88706bbb1

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