/otpauth

Implements two-step verification of HOTP/TOTP. Also known as one time password.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

otpauth

otpauth is One Time Password Authentication, which is usually called as two steps verification. You may have heard it from Google, Dropbox and etc.

https://badge.fury.io/py/otpauth.png https://travis-ci.org/lepture/otpauth.png?branch=master https://coveralls.io/repos/lepture/otpauth/badge.png?branch=master

Installation

Installing otpauth is simple with pip:

$ pip install otpauth

or, with easy_install:

$ easy_install otpauth

Usage

Generate and validate an otp code is very simple:

>>> from otpauth import OtpAuth
>>> auth = OtpAuth('secret')  # a secret string
>>> auth.hotp()  # generate a count based code, default count is 4
330810
>>> auth.valid_hotp(330810)
4
>>> auth.hotp(2)  # generate a count based code, count is 2
720111
>>> auth.valid_hotp(720111)
2
>>> auth.totp()  # generate a time based code
828657
>>> auth.valid_totp(828657)
True

Authenticator

You can create a QR code for Google Authenticator to scan:

>>> from otpauth import OtpAuth
>>> auth = OtpAuth('secret')  # a secret string
>>> s = auth.to_uri('totp', 'Example:foo@bar.baz', 'Foo')
>>> import qrcode
>>> img = qrcode.make(s)

Since Google Authenticator was not maintained well. There is a good replacement: Duo Mobile.

You should try this one.