Python bindings to the LibreAuth library. https://pypi.org/project/libreauth/
This repository has been archived on 2023-09-20. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Rodolphe Bréard 19048e175d Merge branch 'master' of github.com:breard-r/py-libreauth 2021-09-15 12:41:05 +02:00
docs Python LibreAuth 0.1.0.dev3 2017-12-17 00:42:34 +01:00
libreauth Use a single password_hash function 2017-12-17 13:07:07 +01:00
tests Improve unit tests 2018-03-16 12:34:56 +01:00
.gitignore Start building a documentation 2017-12-17 00:40:03 +01:00
CHANGELOG.md first commit 2017-11-26 21:39:20 +01:00
CONTRIBUTING.md first commit 2017-11-26 21:39:20 +01:00
LICENSE-EN.txt first commit 2017-11-26 21:39:20 +01:00
LICENSE-FR.txt first commit 2017-11-26 21:39:20 +01:00
MANIFEST.in Add the password sub-module 2017-12-16 19:21:18 +01:00
Pipfile Start building a documentation 2017-12-17 00:40:03 +01:00
Pipfile.lock Start building a documentation 2017-12-17 00:40:03 +01:00
README.rst Fix the broken RTD link 2017-12-17 00:47:46 +01:00
setup.cfg Add the password sub-module 2017-12-16 19:21:18 +01:00
setup.py Python LibreAuth 0.1.0.dev3 2017-12-17 00:42:34 +01:00

README.rst

Python LibreAuth
================

Python bindings to the LibreAuth library.
LibreAuth is a collection of tools for user authentication written in Rust.

.. image:: https://api.travis-ci.org/breard-r/py-libreauth.png
    :target: https://travis-ci.org/breard-r/py-libreauth
    :alt: Build status

.. image:: https://readthedocs.org/projects/py-libreauth/badge/?version=latest
    :target: http://py-libreauth.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://img.shields.io/pypi/status/libreauth.svg
    :target: https://pypi.python.org/pypi/libreauth
    :alt: Project status

.. image:: https://img.shields.io/pypi/v/libreauth.svg
    :target: https://pypi.python.org/pypi/libreauth
    :alt: Version

.. image:: https://img.shields.io/pypi/pyversions/libreauth.svg
    :target: https://pypi.python.org/pypi/libreauth
    :alt: Python versions

.. image:: https://img.shields.io/pypi/l/libreauth.svg
    :target: http://cecill.info/index.en.html
    :alt: CeCILL license


Features
--------

This is a work in progress. Some features may not be available.

* Password / passphrase authentication

  - ✓ no character-set limitation
  - ✓ reasonable lenth limit (`security vs. DOS <http://arstechnica.com/security/2013/09/long-passwords-are-good-but-too-much-length-can-be-bad-for-security/>`_)
  - ✓ strong, evolutive and retro-compatible password hashing functions
  - ✓ optional NIST Special Publication 800-63B compatibility

* HOTP - HMAC-based One-time Password Algorithm (`OATH <http://www.openauthentication.org/>`_ - `RFC 4226 <https://tools.ietf.org/html/rfc4226>`_)

  - ✗ the key can be passed as bytes, an ASCII string, an hexadicimal string or a base32 string
  - ✗ customizable counter
  - ✗ customizable hash function (sha1, sha256, sha512)
  - ✗ customizable output length
  - ✗ customizable output alphabet

* TOTP - Time-based One-time Password Algorithm (`OATH <http://www.openauthentication.org/>`_ - `RFC 6238 <https://tools.ietf.org/html/rfc6238>`_)

  - ✗ the key can be passed as bytes, an ASCII string, an hexadicimal string or a base32 string
  - ✗ customizable timestamp
  - ✗ customizable period
  - ✗ customizable initial time (T0)
  - ✗ customizable hash function (sha1, sha256, sha512)
  - ✗ customizable output length
  - ✗ customizable output alphabet
  - ✗ customizable positive and negative period tolerance