跳转到主要内容

用于验证Yubikey一次性密码(OTPs)的库

项目描述

Yubico Python客户端

https://img.shields.io/pypi/v/yubico-client.svg https://img.shields.io/pypi/dm/yubico-client.svg https://secure.travis-ci.org/Kami/python-yubico-client.png?branch=master https://img.shields.io/codecov/c/github/Kami/python-yubico-client/master.svg https://img.shields.io/pypi/pyversions/yubico-client.svg https://img.shields.io/pypi/wheel/yubico-client.svg https://img.shields.io/github/license/Kami/python-yubico-client.svg

基于验证协议版本2.0的Python类,用于验证Yubico一次性密码(OTPs)。

有关更多信息和使用示例,请参阅文档

文档

文档可在https://yubico-client.readthedocs.org/en/latest/找到

安装

$ pip install yubico-client

注意:软件包最近已从yubico重命名为yubico-client,主模块也已从yubico重命名为yubico_client。这样做是为了避免命名冲突并简化特定分发的软件包的创建。

支持的Python版本

  • Python 2.7

  • Python 3.4

  • Python 3.5

  • Python 3.6

  • Python 3.7

  • Python 3.8

  • PyPy 2

  • PyPy 3

运行测试

要运行测试,请使用tox命令。这将自动在所有支持的Python版本上运行测试。

$ tox

许可

Yubico客户端遵循3-Clause BSD许可证进行分发。

变更日志

1.13.0 - 2020-05-21

  • 更新客户端,默认情况下通过查询单个API服务器而不是多个服务器。

    以前,我们出于高可用性和性能原因并行查询了6个Yubico API服务器。

    现在api.yubico.com是全球分布式的,并且进行了负载均衡,所以我们不再需要这样做,我们只需查询单个API服务器,让服务器处理高可用性和负载均衡。

    运行自己的内部Yubikey验证服务器的用户仍然可以通过传递客户端构造函数中的api_urls参数来指定服务器列表(与之前相同)。

    由@mallensb和@nrw505贡献。是#31和#32的一部分。

1.12.0 - 2019-11-18

  • 更新代码,以重试可能通过重试成功的服务器错误(服务器返回的5xx状态码)。这些错误可能只是网关或代理错误,可能在重试时成功。

    由Nigel Williams (@nrw505) 贡献。#30

  • requests依赖项的最低版本锁定为v2.22.0

  • 更新代码,以便在查询多个服务器时,如果一个服务器有问题,我们不会抛出异常。

    我们并行查询多个服务器纯粹是为了可用性原因,而一致性/同步部分由服务器端处理。客户端在收到一个肯定或否定响应后立即返回。

    由Nigel Williams (@nrw505) 贡献。#29

  • 更新代码,以便在每个HTTP请求中发送包括客户端版本信息和平台字符串的User-Agent头。

  • 还测试了Python 3.8.0的代码,并指出我们也支持Python 3.8。

1.11.0 - 2019-07-06

  • 停止支持Python 2.6。#28

  • 测试代码,并验证它以下Python版本都能正常工作:* Python 3.3 * Python 3.4 * Python 3.5 * Python 3.6 * Python 3.7 * PyPy 2 * PyPy 3 #28

1.10.0 - 2015-10-02

  • 修复了与Python版本 >= 3.0 <= 3.3 的兼容性问题。#22

  • requests依赖项锁定为最新版本(2.7)。#25 #27

    由Wouter van Bommel,Vianney Carel 贡献。

  • 确保在从响应中解析查询参数时参数未被转义。#23

    由Tamás Gulácsi 贡献。

1.9.1 - 2014-02-05

  • 修复了Python 3的兼容性问题。#21

1.9.0 - 2014-01-16

  • 为了阻止不良实践,从Yubico类构造函数中完全移除use_https参数。同时更新DEFAULT_API_URLS变量,使其包含带有方案的完整URL(例如https://api.yubico.com/wsapi/2.0/verify)。

    如果用户想使用自定义的非HTTPS URL或URLs,他们仍然可以通过将带有自定义非HTTPS URL的api_urls参数传递给构造函数来实现。

  • 将模块级别的变量CA_CERTS_BUNDLE_PATH替换为可以传递给Yubico类构造函数的ca_certs_bundle_path参数。

  • requests依赖项从1.2更新到2.2

1.8.0 - 2013-11-09

  • 修改verify_multi方法,如果otp_list参数包含少于两个项目,则抛出异常。

  • 修改verify_multi方法中的max_time_window参数,使其以秒为单位(#19)

  • 修改verify_multi方法,如果第一个和最后一个OTP时间戳之间的delta小于零,则抛出异常

  • 允许用户在创建 Yubico 类的构造函数时传递 api_urls 参数。该参数可以包含用于验证令牌的 API url 列表。 https://github.com/Kami/python-yubico-client/pull/18

    由 Dain Nilsson 贡献

  • 依赖于 requests 库的新版本(1.2.3)。

  • 更新代码和测试,以确保它们在 Python 3.3 下也能运行

1.7.0 - 2013-04-06

  • 将 PyPi 包名从 yubico 更改为 yubico-client

    这样做是为了防止命名冲突,并使创建特定于分发版本的包(例如 Debian 包)更容易。

1.6.2 - 2013-04-02

1.6.1 - 2013-03-19

1.6.0 - 2013-01-24

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分发

yubico-client-1.13.0.tar.gz (23.2 kB 查看哈希值)

上传时间

构建分发

yubico_client-1.13.0-py2.py3-none-any.whl (17.9 kB 查看哈希值)

上传时间: Python 2 Python 3

由以下支持