Skip to main content

Python Yubico Client

Project description

# Yubico Python Client

Python class for verifying Yubico One Time Passwords (OTPs) based on the validation protocol version 2.0.

## Installation

pip install yubico

## Build Status

[![Build Status](https://secure.travis-ci.org/Kami/python-yubico-client.png)](http://travis-ci.org/Kami/python-yubico-client)

## Running Tests

python setup.py test

## Usage

  1. Generate your client id and secret key (this can be done by visiting the [Yubico website](https://api.yubico.com/get-api-key/))
  2. Use the client

Single mode:

from yubico.yubico import Yubico

yubico = Yubico(‘client id’, ‘secret key’) yubico.verify(‘otp’)

Multi mode:

from yubico.yubico import Yubico

yubico = Yubico(‘client id’, ‘secret key’) yubico.verify_multi([‘otp 1’, ‘otp 2’, ‘otp 3’])

The verify method will return True if the provided OTP is valid (STATUS=OK).

The verify_multi method will return True if all of the provided OTPs are valid (STATUS=OK).

Both methods can also throw one of the following exceptions:

  • StatusCodeError - server returned REPLAYED_OTP status code
  • SignatureVerificationError - server response message signature verification failed
  • InvalidClientIdError - client with the specified id does not exist (server returned NO_SUCH_CLIENT status code)
  • Exception - server returned one of the following status values: BAD_OTP, BAD_SIGNATURE, MISSING_PARAMETER, OPERATION_NOT_ALLOWED, BACKEND_ERROR, NOT_ENOUGH_ANSWERS, REPLAYED_REQUEST or no response was received from any of the servers in the specified time frame (default timeout = 10 seconds)

[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

Project details


Release history Release notifications

This version
History Node

1.6.2

History Node

1.6.1

History Node

1.6.0

History Node

1.4.dev

History Node

1.3.dev

History Node

1.2.dev

History Node

1.1.dev

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
yubico-1.6.2.tar.gz (14.7 kB) Copy SHA256 hash SHA256 Source None Apr 3, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page