在aiohttp应用程序中添加令牌身份验证级别的简单方法

aiohttp-tokenauth的Python项目详细描述


aiohttp令牌认证

Aiohttp简单令牌认证中间件,可以检查分配给数据库或其他地方的用户或用户组的任何令牌。在

安装

pip install aiohttp_tokenauth

文件

基本用法

首先,让我们创建一个简单的应用程序。在

^{pr2}$

然后,运行aiohttp应用程序。在

$ python example/simple_app.py
======== Running on http://0.0.0.0:8080 ========(Press CTRL+C to quit)

现在尝试使用“Authorization”头中的令牌访问url。在

$ curl -H 'Authorization: Bearer fake-token' http://0.0.0.0:8080
{"uuid": "fake-uuid"}

结果毫无意义。在

$ curl http://0.0.0.0:8080
401: Missing authorization header

忽略路由和http方法

您可以忽略特定的路由,将路径应用到“排除路由”。在

app=web.Application(middlewares=[token_auth_middleware(user_loader=user_loader,# You can use regular expressions hereexclude_routes=('/exclude',r'/exclude/\w+/info'),exclude_methods=('POST',),),])

更改身份验证方案

要更改方案(“Authorization”头中的前缀),请使用auth_scheme参数。在

app=web.Application(middlewares=[token_auth_middleware(user_loader=user_loader,auth_scheme='Token',),])

现在这样的请求是有效的:

$ curl -H 'Authorization: Token fake-token' http://0.0.0.0:8080
{"uuid": "fake-uuid"}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
orm如何在Java中实现规范化映射?   java以编程方式修改Xtext生成的Mwe2工作流   java正在覆盖外部文件中的现有数据,如何停止?   java在ANTLR BNF语法符号中epsilon的等价物是什么?   java如何使用Hibernate@Anyrelated注释?   代码生成生成java类并在运行时加载它   java Maven无法在本地jar文件中收集依赖项   java NetBeans IDE 8.2不显示错误消息   java Selenium web驱动程序找不到元素   java如何修复“拒绝访问属性”invoke“”的权限?   JavaApacheJClouds,从比日期更早的blob中删除blob的最佳方法   java如何比较和排序树集中的项目?   使用JavaSpring和无头/解耦CMS   java使用swagercodegen在不同的类中生成端点   Java外部Keylistener没有响应