python yubico客户端
yubico的Python项目详细描述
#Yubico Python客户端
用于验证yubico一次性密码(otps)的python类,基于 验证协议版本2.0。
- 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安装yubico
##生成状态
##运行测试
python setup.py测试
##用法
- 生成客户端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有效,verify方法将返回true。 (状态=正常)。
如果所有提供的otp都是 有效(状态=正常)。
两种方法还可以引发以下异常之一:
- statuscodeerror-服务器返回replayed\u otp状态代码
- signatureverificationerror-服务器响应消息签名 验证失败
- {STR 1 } $ValueClient Dror RoR <强>客户端不存在指定ID (服务器返回no_这样的客户机状态代码)
- 异常-服务器返回下列状态值之一: {STR 1 } $ BADIOTP< <强>,^ {STR 1 } $ BADYDigabor < /强>,^ {STR 1 } $MISSIGHORE参数< /强>不允许操作,后端错误,答案不足, replayed_请求或未从任何服务器收到响应 在指定的时间范围内(默认超时时间=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