Python Yubico客户端
项目描述
# Yubico Python客户端
基于2.0验证协议版本的Python类,用于验证Yubico一次性密码(OTP)。
Yubico网站:[http://www.yubico.com][1]
Yubico文档:[http://www.yubico.com/developers/intro/][2]
验证协议版本2.0常见问题解答:[http://www.yubico.com/develop/open-source-software/web-api-clients/server/][3]
验证协议版本2.0描述:[https://github.com/Yubico/yubikey-val/wiki/ValidationProtocolV20][4]
## 安装
pip install yubico
## 构建状态
## 运行测试
python setup.py test
## 使用方法
生成您的客户端ID和密钥(这可以通过访问[Yubico网站](https://api.yubico.com/get-api-key/)来完成)
使用客户端
单模式
from yubico.yubico import Yubico
yubico = Yubico(‘client id’, ‘secret key’) yubico.verify(‘otp’)
多模式
from yubico.yubico import Yubico
yubico = Yubico(‘client id’, ‘secret key’) yubico.verify_multi([‘otp 1’, ‘otp 2’, ‘otp 3’])
如果提供的OTP有效(状态=OK),则verify
方法将返回True
。
如果提供的所有OTP都有效(状态=OK),则verify_multi
方法将返回True
。
这两种方法也可以抛出以下异常之一
StatusCodeError
- 服务器返回了REPLAYED_OTP
状态码SignatureVerificationError
- 服务器响应消息签名验证失败InvalidClientIdError - 指定的客户端不存在(服务器返回了 NO_SUCH_CLIENT 状态码)
异常 - 服务器返回以下状态值之一:BAD_OTP、BAD_SIGNATURE、MISSING_PARAMETER、OPERATION_NOT_ALLOWED、BACKEND_ERROR、NOT_ENOUGH_ANSWERS、REPLAYED_REQUEST 或在指定时间段内未从任何服务器接收到响应(默认超时时间为 10 秒)
[1]: http://www.yubico.com [2]: http://www.yubico.com/developers/intro/ [3]: http://www.yubico.com/develop/open-source-software/web-api-clients/server/ [4]: https://github.com/Yubico/yubikey-val/wiki/ValidationProtocolV20
项目详情
yubico-1.6.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4274650d26aa821f435df3b7c0cfc3a043240f9304dfda0def0a8ce91c83f380 |
|
MD5 | 04448f2083e591b4da3aa984d54bf2e4 |
|
BLAKE2b-256 | 431e34093ca0f3d956cfb26cc59d42de9dab14547ec497d43fb7cf2669ca1034 |