pyramid_jwtauth
项目描述
注意:这是代码的早期版本,因此库可能会发生变化。
这是一个用于JSON Web Token (JWT) 认证的Pyramid认证插件
http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html
要使用JWT访问认证访问资源,客户端必须获得JWT来对服务器进行签名请求。此库还可以为客户生成JSON Web Tokens。令牌对客户端来说是透明的,尽管如此,除非它被加密,否则客户端可以读取令牌中声明的信息。
在访问受保护资源时,服务器将生成一个带有“JWT”方案的401挑战响应,如下所示
> GET /protected_resource HTTP/1.1 > Host: example.com < HTTP/1.1 401 Unauthorized < WWW-Authenticate: JWT
客户端将使用其JWT来构建请求签名并将其包含在Authorization头中,如下所示
> GET /protected_resource HTTP/1.1 > Host: example.com > Authorization: JWT token=eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFt cGxlLmNvbS9pc19yb290Ijp0cnVlfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk < HTTP/1.1 200 OK < Content-Type: text/plain < < For your eyes only: secret data!
(注意:根据JWT中声明的数量,令牌可能变得很大。出于所有实际目的,它应该保持简短。)
此插件使用PyJWT库来验证JWT
还可以查看用于生成JWT的库,尽管可以使用任何语言来生成它。
灵感
本模块高度基于(并复制自)Mozilla Services的pyramid_macauth包和macauthlib包。
没有它,我就无法对这个包进行少量修改,使其与Pyramid兼容。
许可证
本源代码形式受Mozilla公共许可证第2.0版条款约束。如果此文件未附带MPL副本,您可以在http://mozilla.org/MPL/2.0/获取一份。
待定
初始开发版本0.0.1.dev1。
从https://github.com/mozilla-services/pyramid_macauth版本0.4.0-dev1分叉而来
0.0.1.dev5
更新后的包需要PyJWT。
0.0.1.dev4
更新后的包现在可以用于Python 3.3/3.4下载。
0.0.1.dev3
现在可以正确地与RSA密钥一起工作,并修复了没有使用适当的挑战而进行401错误的问题。已停止支持Python 2.6和3.2。
0.1.1
与PyJWT 0.4.x(未锁定)兼容。Wichert Akkerman(wichert@wiggy.net)的贡献使身份验证可以使用‘Bearer’头而不是自定义头‘JWT’。
在tox中已停止支持Python 3.3,但它仍然可以正常工作。
使用Vagrant开发并针对python 2.7和3.4进行tox测试的包的(开发)视角。
0.1.2
通过Pyramid设置系统在decode()方法中的PyJWT选项{}中添加了禁用各种检查的能力。这通过策略配置。
0.1.3
从Shadizzle合并了PR#11,以提供从INI文件配置‘方案’的能力。版本提升到0.1.3。
项目详情
pyramid_jwtauth-0.1.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3dd01e3727f6bd71cac5191539095b6bc23f6e9aca1fced7bcc5ec6cf70c7737 |
|
MD5 | e5f4eb053950c8a55c129418420d92bc |
|
BLAKE2b-256 | 61d5fdc61a909d500b2e64ca22d0c5ba8bd6410e9a38fe6a48f2509f63bd1e57 |