From BitcoinWiki
This is the approved revision of this page, as well as being the most recent.
Jump to: navigation, search

LinOTP is a Linux-based solution to manage authentication devices for two-factor authentication with one time passwords. It is implemented as a web service based on the python framework Pylons. Thus it requires a web server to run in.

LinOTP is mainly developed by the German company KeyIdentity GmbH. Its core components are licensed under the Affero General Public License.

It is an open source authentication server certified by the OATH initiative for open authentication for its 2.4 version.


As a web service LinOTP provides a REST-like web API. All functions can be accessed via Pylons controllers. Responses are returned as a JSON object.

LinOTP is designed in a modular way enabling user store modules and token modules. Thus it is capable of supporting a wide range of different tokens.


  • Supported tokens:
  • Yubikey mass enrollment via CLI
  • support for token databases like sqlite, mysql, postgresql, oracle, db2
  • management via web interface or command line client
  • Users stored in flat files
  • PAM module
  • SAML
  • OpenID
  • FreeRADIUS connection via rlm_perl
  • Selfservice
  • Import of XML Token files
  • Management functions:
  • enroll/assign tokens
  • synchronize, resynchronize, automatic resychronization
  • activate/deactivate/delete tokens
  • autoassignment
  • lost token scenario
  • find token by OTP value
  • get OTP value
  • Detailed Policies Definitions
  • Sophisticated Audit API
  • Multitenancy

Source Code[edit]

Being written in Python the program itself comes as the source code. The code is available via the Python Package Index PyPI or from the project website .

The source code can be obtained from GitHub: LinOTP repository.

See Also on BitcoinWiki[edit]