霍克要求
requests-hawk的Python项目详细描述
此项目允许您将the python requests library与the hawk authentication机制一起使用。
Hawk本身不提供任何机制来获取或传输 需要一组共享凭据,但此项目提出了我们使用的方案 跨Mozilla服务项目。
太好了,我怎么用呢?
首先,您需要安装它:
.. code-block:: bash pip install requests-hawk
然后,在您的项目中,如果您知道id和键,则可以使用:
.. code-block:: python import requests from requests_hawk import HawkAuth hawk_auth = HawkAuth(id='my-hawk-id', key='my-hawk-secret-key') requests.post("https://example.com/url", auth=hawk_auth)
或者,如果需要从hawk会话令牌派生它们,请使用:
.. code-block:: python import requests from requests_hawk import HawkAuth hawk_auth = HawkAuth( hawk_session=resp.headers['hawk-session-token'], server_url=self.server_url ) requests.post("/url", auth=hawk_auth)
在第二个示例中,HawkAuth的server_url参数用于 提供一个默认主机名,以避免对每个请求重复该名称。
如果要重写sha256的默认算法,请传递所需的 使用可选的algorithm参数的算法名称。
注意:已删除credentials参数。而是传递id和 {TT7} $单独(如上),或将现有的DICT作为^ {TT8}$。
与httpie集成
Httpie是一个让您 以一种友好而简单的方式请求远程服务器。在引擎盖下,httpie 使用请求库。我们已经让你很容易用它来插上Hawk。
如果您知道ID和钥匙,请按如下方式使用:
.. code-block:: bash http POST localhost:5000/registration\ --auth-type=hawk --auth='id:key'
或者,如果要使用Hawk会话令牌,可以执行以下操作:
.. code-block:: bash http POST localhost:5000/registration\ --auth-type=hawk --auth='c0d8cd2ec579a3599bef60f060412f01f5dc46f90465f42b5c47467481315f51:'
注意,不要忘记在hawk会话结束时添加额外的:。 它被认为是这样的象征。
运行测试
要运行测试,可以使用tox:
.. code-block:: bash tox
更改日志
1.0.0(2015-12-15)
- 当id和密钥已知时使用hawkauth的简化api。(8)
- 增加了在派生时重写默认算法(SHA256)的支持 来自hawk会话令牌的凭据,通过新的algorithm参数。
如果使用credentials参数,请参阅迁移建议的自述文件。
0.2.1(2015-10-14)
- 确保正确处理了requests json参数。(7)
0.2.0(2015-05-19)
- 用python 3.4修复setup.py中的编码错误
- 添加配置参数以便能够设置 要使用的时间戳。
0.1.2(2014-08-13)
- 添加python3支持
0.1.1(2014-07-21)
- 第一个版本