一个非常简单的用于aiohttp的http基本auth实现。


aiohttp-basicauth-middleware的Python项目详细描述

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

用于简单http-basic的Aiohttp中间件 对某些URL进行身份验证保护。

适用于Python>;=3.5

与UTF-8?配合使用

安装

pip install aiohttp-basicauth-middleware

用法

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'},
    )
)

基本认证中间件有3个参数:

  1. 受保护URL的列表。例如,['/admin']将匹配 与/admin/user匹配,但与/user/admin不匹配。
  2. auth dict–带对的dict:登录密码
  3. 密码比较策略(可选)。例如,你可以 将散列密码存储在auth dict中请参见aiohttp_basicauth_middleware.strategy.basestrategy 示例.strategy了解更多信息

MD5密码散列示例:

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/..将由同一个登录名+密码对('user','password')访问

推荐PyPI第三方库


热门话题
bzamecnik restapi giturlparse 公共服务 mdoc trackr wysiwyg ricecooker sparse 卡车 roulier 面包店 driveline chkconfig luthor pyup dataloop countly sexy 分析程序 holdem codeanalysis chaostolkit dbgp objectstorage deer mochi pywake atexit vlfeat bprint mac 汇总 fritz pay 孤岛 inception macro pypa shark vsutillib 信用 xinge 税法 夹子 svb 正态分布 itp armada qo