HTTP basic authentication middleware for aiohttp 3.0+
Project description
aiohttp-basicauth
HTTP basic authentication middleware for aiohttp 3.0+. Inspired by Flask-BasicAuth.
Requirements
- Python >= 3.5.3
- aiohttp >= 3.0
Installation
pip install aiohttp_basicauth
Simple usage
from aiohttp import web
from aiohttp_basicauth import BasicAuthMiddleware
auth = BasicAuthMiddleware(username='user', password='password')
app = web.Application(middlewares=[auth])
web.run_app(app, host='127.0.0.1', port=80)
Protect specific view(s)
from aiohttp import web
from aiohttp_basicauth import BasicAuthMiddleware
auth = BasicAuthMiddleware(username='user', password='password', force=False)
async def public_view(request):
return web.Response(text='Public view')
@auth.required
async def secret_view(request):
return web.Response(text='Secret view')
app = web.Application(middlewares=[auth])
app.router.add_route('GET', '/public', public_view)
app.router.add_route('GET', '/secret', secret_view)
web.run_app(app, host='127.0.0.1', port=80)
Advanced usage
You can override check_credentials
method to implement specific user verification logic:
from aiohttp import web
from aiohttp_basicauth import BasicAuthMiddleware
class CustomBasicAuth(BasicAuthMiddleware):
async def check_credentials(self, username, password):
return username == 'user' and password == 'password'
auth = CustomBasicAuth()
app = web.Application(middlewares=[auth])
web.run_app(app, host='127.0.0.1', port=80)
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
Built Distribution
Close
Hashes for aiohttp_basicauth-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02bc53659ed90fcd97fe541e0aa61c1d415ec7304d4757aedb58aa70ca6df358 |
|
MD5 | fe76712866cb3688c9edda67404133f7 |
|
BLAKE2b-256 | 92d2923a195b4f20e9dc62051a76e770ee4851181a8ef45b5b5b1dab3ae0c8ba |