Harman Patil (Editor)


Updated on
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Development status  active
Operating system  Linux
Written in  Python
Developer(s)  LSE Leading Security Experts GmbH
Initial release  March 1, 2010 (2010-03-01)
Stable release  2.7 / May 21, 2014; 2 years ago (2014-05-21)

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:
  • SafeNet eToken Pass
  • SafeNet Safeword Alpine
  • mOTP
  • Lost token
  • Paper token
  • Feitian C-100 (HOTP)
  • Feitian C-200 (TOTP)
  • Feitian C-300 (OCRA)
  • Feitian c601 (optical OCRA)
  • Authenex A-Key V 3.6
  • Yubico Yubikey
  • Gemalto Ezio Token
  • Smartdisplayer
  • NagraID 106/103
  • NagraID 306 (OCRA)
  • BR Token SafeSIGNATURE
  • LSE Simple Pass token
  • LSE Remote Token
  • LSE Radius Token
  • LSE Tagespasswort Token
  • Apps for iPhone and Android like the Google Authenticator
  • Any HOTP/ TOTP and OCRA Token
  • 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

    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 linotp.org.

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


    LinOTP Wikipedia