LinOTP
LinOTP - the open source solution for two factor authentication
File Explorer
Download Latest Version (.zip)- linotp-api.css
- theme.conf
- conf.py
- Makefile
- doas.conf
- entrypoint.sh
- install-ca-certificates.sh
- symlink_custom_assets.py
- wait_for_db.py
- compose.e2etests.yml
- compose.yaml
- Dockerfile.linotp
- mailtemplate-authenticate.eml
- mailtemplate-enroll.eml
- mailtemplate-set-pin.eml
- __init__.py
- admin_cmd.py
- audit_cmd.py
- dbsnapshot_cmd.py
- init_cmd.py
- local_admins_cmd.py
- mysql_cmd.py
- support_cmd.py
- __init__.py
- admin.py
- audit.py
- auditlog.py
- auth.py
- base.py
- error.py
- gettoken.py
- maintenance.py
- manage.py
- migrate.py
- monitoring.py
- realms.py
- reporting.py
- resolvers.py
- system.py
- tokens.py
- tools.py
- u2f.py
- userservice.py
- validate.py
- linotp.po
- __init__.py
- base.py
- iterator.py
- SQLAudit.py
- __init__.py
- finishtokens.py
- validate.py
- __init__.py
- config_class.py
- db_api.py
- global_api.py
- parsing.py
- type_definition.py
- util.py
- __init__.py
- encrypted_data.py
- pbkdf2.py
- rsa.py
- utils.py
- __init__.py
- pbkdf2.py
- __init__.py
- DPWplain.py
- eTokenDat.py
- oath.py
- PSKC.py
- safenet.py
- yubico.py
- __init__.py
- action.py
- definitions.py
- evaluate.py
- filter.py
- forward.py
- manage.py
- maxtoken.py
- permissions.py
- processing.py
- util.py
- __init__.py
- selfcheck.py
- __init__.py
- default.py
- fips.py
- pkcs11.py
- provider.py
- __init__.py
- ImportHandler.py
- SQLImportHandler.py
- __init__.py
- expiring_list.py
- migrate_resolver.py
- set_password.py
- __init__.py
- apps.py
- black.gif
- cache.py
- cache_utils.py
- challenges.py
- context.py
- error.py
- fs_utils.py
- gray.gif
- HMAC.py
- local.py
- log.py
- logs.py
- migrate.py
- module_loader.py
- monitoring.py
- pairing.py
- realm.py
- registry.py
- remote_service.py
- reply.py
- reporting.py
- request.py
- resolver.py
- resources.py
- rw_lock.py
- secret_obj.py
- support.py
- text_utils.py
- token.py
- tokeniterator.py
- type_utils.py
- user.py
- useriterator.py
- userservice.py
- util.py
- white.gif
- __init__.py
- trusted_proxy_handler.py
- __init__.py
- challange_schema.py
- config_schema.py
- db_logging_schema.py
- imported_user_schema.py
- realm_schema.py
- reporting_schema.py
- token_realm_schema.py
- token_schema.py
- __init__.py
- challange.py
- config.py
- db_logging.py
- imported_user.py
- local_admin_user.py
- migrate.py
- realm.py
- reporting.py
- resolver.py
- token.py
- tokenRealm.py
- __init__.py
- __init__.py
- default_push_provider.py
- __init__.py
- DeviceSMSProvider.py
- FileSMSProvider.py
- HttpSMSProvider.py
- RestSMSProvider.py
- SMPPSMSProvider.py
- SmtpSMSProvider.py
- __init__.py
- custom_voice_provider.py
- __init__.py
- config_parsing.py
- create_provider_ini.py
- notification.py
- auth.css
- style.css
- jquery.datetimepicker.css
- bg.gif
- btn-sprite.gif
- ddn.png
- dn.png
- fhbg.gif
- first.gif
- hl.png
- last.gif
- line.gif
- load.gif
- load.png
- magnifier.png
- next.gif
- prev.gif
- up.png
- uup.png
- wbg.gif
- flexigrid.css
- add.png
- close.png
- ui-bg_glass_55_fbf9ee_1x400.png
- ui-bg_glass_65_ffffff_1x400.png
- ui-bg_glass_75_dadada_1x400.png
- ui-bg_glass_75_e6e6e6_1x400.png
- ui-bg_glass_95_fef1ec_1x400.png
- ui-bg_highlight-soft_75_cccccc_1x100.png
- ui-icons_222222_256x240.png
- ui-icons_2e83ff_256x240.png
- ui-icons_454545_256x240.png
- ui-icons_888888_256x240.png
- ui-icons_cd0a0a_256x240.png
- ui-icons_ffffff_256x240.png
- jquery-ui.css
- jquery-ui.min.css
- jquery-ui.structure.css
- jquery-ui.structure.min.css
- jquery-ui.theme.css
- jquery-ui.theme.min.css
- linotp.css
- superfish.css
- ajax-loader.gif
- arrows-ffffff.png
- linotp_logo_103x35.png
- linotp_logo_200x68_72dpi.png
- Readme
- shadow.png
- ui-bg_highlight-soft_75_cccccc_1x100.png
- login.js
- aladdin.js
- auth.js
- dat.js
- dpw.js
- feitian.js
- flexigrid.js
- hoverIntent.js
- jed.js
- jquery-3.6.0.js
- jquery-3.6.0.min.js
- jquery-3.6.0.min.map
- jquery-migrate-3.3.2.js
- jquery-migrate-3.3.2.min.js
- jquery-ui.js
- jquery-ui.min.js
- jquery.cookie.js
- jquery.cookie.min.js
- jquery.cookie.min.js.map
- jquery.datetimepicker.js
- jquery.datetimepicker.min.js
- jquery.form.js
- jquery.form.min.js
- jquery.form.min.js.map
- jquery.validate.js
- jquery.validate.linotp.js
- jquery.validate.min.js
- libmanage.js
- linotp_utils.js
- manage.js
- oathcsv.js
- pskc.js
- superfish.js
- superfish.min.js
- tools.js
- u2f-api.js
- yubikeycsv.js
- login.css
- style.css
- style.css
- bg.png
- favicon.ico
- pylons-logo.gif
- audit.mako
- login.mako
- manage-base.mako
- multiotp_view.mako
- policies.mako
- tokeninfo.mako
- tokenview.mako
- userview.mako
- auth-base.mako
- auth-challenge-response.mako
- auth-ocra2.mako
- auth-push.mako
- auth-qrtoken.mako
- auth.mako
- auth3.mako
- __init__.py
- test_delete_realm_resolver.py
- test_qol_realm_resolver.py
- test_audit.py
- test_monitoring.py
- test_reporting.py
- test_system.py
- test_tools.py
- __init__.py
- test_challenge_response.py
- test_httpsms.py
- test_radiustoken.py
- test_remote_token.py
- test_remote_token2.py
- test_remotetoken.py
- testing_controller.py
- 4users.csv
- admin-passwd
- cert.pem
- def-passwd
- def-passwd-changed
- def-passwd-plain-changed.csv
- def-passwd-plain.csv
- def-passwd.csv
- demo-lic.pem
- email.eml
- enrollment_email.eml
- etc-passwd
- expired-lic.pem
- linotp2.token_user.pem
- my-pass2
- my-passwd
- myDom-passwd
- oath_tokens.csv
- oath_tokens_bad_seed.csv
- oath_tokens_sha256.csv
- oath_tokens_sha512.csv
- ocra_pskc_tokens.xml
- policy_realm.cfg
- pskc_tokens.xml
- safenet_tokens.dat
- safenet_tokens.xml
- safework_tokens.dat
- setpin_email.eml
- yubi_chall_tokens.csv
- yubi_hmac.csv
- yubi_tokens.csv
- test_realms.py
- test_resolver.py
- test_tokens.py
- test_entrypoint.py
- __init__.py
- test_ocra2.py
- test_userservice.py
- __init__.py
- test_autosms.py
- test_permissions.py
- test_policy.py
- test_realm_policies.py
- test_upload_max.py
- __init__.py
- test_admin_show.py
- test_autoassignment.py
- test_autoenroll.py
- test_autoenroll_sms.py
- test_forward_server.py
- test_inactive_policy.py
- test_maxtoken.py
- test_new_engine.py
- test_passthrough.py
- test_policy_hierarchy.py
- test_randompin.py
- test_realm_context.py
- test_setrealm.py
- test_tokencount.py
- __init__.py
- test_provider.py
- test_push_provider.py
- test_rest_sms_provider.py
- test_smppsmsprovider.py
- test_voice_provider.py
- __init__.py
- sql_test_controller.py
- sql_user.py
- test_passwords_of_sql_resolver.py
- test_resolver_cache.py
- test_special_char_passwords_with_sqlresolver.py
- test_sql_resolver.py
- __init__.py
- test_fido2token.py
- test_motptoken.py
- test_rollout_token.py
- __init__.py
- test_duplicate_failcounter_increment.py
- test_emailtoken.py
- test_hmac.py
- test_hotp.py
- test_last_access.py
- test_totp.py
- test_totp_lookup.py
- test_transaction_id.py
- __init__.py
- test_migrate_resolver.py
- __init__.py
- push_token_validation.py
- qr_token_validation.py
- test_activate.py
- test_enroll.py
- test_otplogin_userselfservice.py
- test_reporting.py
- test_setdescription_token.py
- test_userservice_login.py
- test_verify_token.py
- __init__.py
- fido2_device.py
- Makefile
- test_admin.py
- test_admin_auth.py
- test_admin_privilege.py
- test_authorize.py
- test_challenge_prompt.py
- test_challenge_totp.py
- test_check_status.py
- test_config.py
- test_emailtoken.py
- test_fixes.py
- test_forward_token.py
- test_getotp.py
- test_getserial.py
- test_healthcheck.py
- test_httperror_response.py
- test_import_user.py
- test_importotp.py
- test_jwt_auth.py
- test_ldapresolver.py
- test_manage.py
- test_monitoring.py
- test_motp.py
- test_orphaned.py
- test_passwdidresolver.py
- test_pushtoken.py
- test_qrtoken.py
- test_radius_token.py
- test_replication_sync.py
- test_reporting.py
- test_resolver.py
- test_selfservice_auth.py
- test_set_password.py
- test_short_realm_names.py
- test_short_resolver_names.py
- test_support.py
- test_system.py
- test_testconnection.py
- test_token_enrollment_info.py
- test_tokenlabel.py
- test_tokenlist.py
- test_tokensearch.py
- test_totp.py
- test_u2f.py
- test_userprincipal.py
- test_validate.py
- test_voicetoken.py
- test_yubikey.py
- blackdog-ldap.crt
- root_ca.corp.linotp.de.crt
- step-ca.crt
- __init__.py
- auth_ui.py
- helper.py
- license_import.py
- manage_elements.py
- manage_ui.py
- policy.py
- realm.py
- set_config.py
- smtp_server.py
- system_config.py
- test_case.py
- token_enroll.py
- token_import.py
- token_view.py
- user_id_resolver.py
- user_view.py
- validate.py
- aladdin.xml
- oath_tokens.csv
- oath_tokens_bad_seed.csv
- se_mypasswd
- wrong_token.xml
- conftest.py
- docker_cfg.ini.tmpl
- integration_data.py
- Makefile
- server_cfg.ini
- test_auth.py
- test_create_useridresolvers.py
- test_emailtoken.py
- test_import_tokens.py
- test_ldap_conn.py
- test_ldapresolver.py
- test_license.py
- test_manage.py
- test_policies.py
- test_realm_dialog.py
- test_scenario01.py
- test_smstoken.py
- test_system_config.py
- test_token_view.py
- test_user_view.py
- test_yubikey.py
- test_ocra_p.py
- __init__.py
- dummy_radius_server.py
- dummy_smpp_server.py
- test_audit_cmd.py
- test_cli.py
- test_cli_local_admins_cmd.py
- test_cli_support_cmd.py
- test_config_cmd.py
- test_dbsnapshot_cmd.py
- test_help_flag.py
- test_init_cmd.py
- __init__.py
- test_admin.py
- test_audit.py
- test_auth.py
- test_base.py
- test_maintenance.py
- test_manage.py
- test_system.py
- test_tokens.py
- test_userservice.py
- test_validate.py
- jasmine.yml
- jasmine2-custom-message-0.8.2.js
- linotp_libmanage_spec.js
- linotp_utils_spec.js
- __init__.py
- test_base.py
- test_iterator.py
- __init__.py
- test_validate_check_with_serial.py
- __init__.py
- test_check_password.py
- test_encrypted_data.py
- test_get_hashalgo.py
- test_pdkdf2.py
- test_rsa.py
- test_autoassign_wo_pass.py
- pbkdf2.py
- __init__.py
- test_importotp.py
- __init__.py
- test_check_admin_auth.py
- test_client_policy.py
- test_condition_comparison.py
- test_evaluate.py
- test_get_client_policy.py
- test_import.py
- test_is_authorized.py
- test_otppin.py
- test_parse_actionvalue.py
- test_policy_selection.py
- test_policy_with_actions.py
- test_selfservice_actions.py
- __init__.py
- test_create_hsm_pool.py
- __init__.py
- test_token_last_accessed.py
- test_token_owner.py
- __init__.py
- test_validity_mixin.py
- __init__.py
- test_wildcard_user_match.py
- __init__.py
- test_set_password.py
- test_sql_import_handler.py
- __init__.py
- test_duration.py
- test_ipdq.py
- __init__.py
- test_get_timeout.py
- __init__.py
- test_cache_activation.py
- test_functions.py
- test_get_user_from_request.py
- test_getUserInfo.py
- test_logging_in_user_lookup.py
- test_user_class.py
- test_user_from_options.py
- __init__.py
- test_cookie.py
- test_precontext.py
- __init__.py
- test_modhex_conversion.py
- test_reencode.py
- __init__.py
- test_audit_entry.py
- test_cache_utils.py
- test_challenges.py
- test_check_password_utils.py
- test_chunk_config.py
- test_fs_utils.py
- test_get_client.py
- test_logging_decorators.py
- test_losttoken_validity.py
- test_maxtoken.py
- test_migrate.py
- test_monitoring.py
- test_pairing.py
- test_reply.py
- test_resolver.py
- test_resources.py
- test_support.py
- test_tokenlabel.py
- test_tokensearch.py
- test_user_compare.py
- test_user_from_param.py
- test_trusted_proxy_handler.py
- __init__.py
- test_rename_webprovision_policies.py
- __init__.py
- test_email_template.py
- __init__.py
- test_phone_template.py
- __init__.py
- gnokiirc
- test_devicesms.py
- test_filesmsprovider.py
- test_provider_from_policy.py
- test_provider_ini.py
- test_server_certificate.py
- test_sms.py
- test_voice_provider.py
- addindex-64bit
- data
- exp.ldif
- linotp-users.sql
- parse-64bit
- tinyldap-64bit
- test_resolve_ldap.py
- test_resolve_pwd.py
- test_resolve_sql.py
- __init__.py
- test_attribute_encoding.py
- test_failover.py
- test_multiple_search_attributes.py
- __init__.py
- test_localadminresolver.py
- test_passwords.py
- __init__.py
- test_sql_sensitive_data.py
- test_static_methods.py
- provider.ini
- __init__.py
- test_challenge_prompt.py
- __init__.py
- test_ocra2token.py
- test_ocrasuite.py
- __init__.py
- test_dynamic_mobile_number.py
- __init__.py
- test_totp.py
- test_totp_testvectors.py
- __init__.py
- test_dpw.py
- test_fido2.py
- test_hotp.py
- test_hotp_testvectors.py
- test_pushtoken.py
- test_qrtoken.py
- test_u2ftoken.py
- test_yubicotoken.py
- test_yubikeytoken.py
- __init__.py
- test_expiring_list.py
- Makefile
- test_config.py
- test_config_logging.py
- test_jwt_base.py
- test_remote_service.py
- test_setting_controllers.py
- test_site_root.py
- __init__.py
- common-vars.mk
- conftest.py
- test_additionals.py
- test_sql_connect_str.py
- __init__.py
- stateful_mixin.py
- tokeninfo_mixin.py
- tokenproperty_mixin.py
- validity_mixin.py
- __init__.py
- fido2token.mako
- fido2token.py
- __init__.py
- motptoken.mako
- motptoken.py
- __init__.py
- ocra2token.mako
- ocra2token.py
- __init__.py
- pushtoken.mako
- pushtoken.py
- __init__.py
- qrtoken.mako
- qrtoken.py
- __init__.py
- u2ftoken.py
- __init__.py
- voicetoken.mako
- voicetoken.py
- __init__.py
- emailtoken.mako
- emailtoken.py
- forwardtoken.mako
- forwardtoken.py
- hmactoken.mako
- hmactoken.py
- passwordtoken.mako
- passwordtoken.py
- radiustoken.mako
- radiustoken.py
- remotetoken.mako
- remotetoken.py
- smstoken.mako
- smstoken.py
- spasstoken.mako
- spasstoken.py
- tagespassworttoken.mako
- tagespassworttoken.py
- totptoken.mako
- totptoken.py
- yubicotoken.mako
- yubicotoken.py
- yubikeytoken.py
- __init__.py
- LDAPIdResolver.py
- PasswdIdResolver.py
- SQLIdResolver.py
- UserIdResolver.py
- __init__.py
- app.py
- def-passwd
- dictionary
- flap.py
- linotp.cfg
- settings.py
- __init__.py
- enroll.py
- main.py
- pyproject.toml
- README.md
- uv.lock
- README.md
- .dockerignore
- .gitignore
- .gitlab-ci.yml
- .pre-commit-config.yaml
- .pylintrc
- .python-version
- babel.cfg
- CHANGELOG.md
- compose.e2etests.yml
- compose.yaml
- DEVELOP.md
- Dockerfile
- LICENSE
- linotpapp.py
- Makefile
- Makefile.linotp
- MANIFEST.in
- preprocessor.ini
- pyproject.toml
- README.md
- rules.pl
- uv.lock
π Installation Guide
1. Get the code
git clone https://github.com/LinOTP/LinOTP
Downloads the entire project code from GitHub to your computer.
cd LinOTP
Moves into the project folder you just downloaded.
2. Docker
Easy RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker compose up
Builds and starts all defined containers (server, database, etc.) at once, in the background.
Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.
Pulled directly from this repo's README.
3. Python
EasyPrerequisites
pip install .
Installs the package published on PyPI directly β no need to clone the source.
python <μ€νν νμΌλͺ
>.py # READMEμμ μ νν μ€ν νμΌλͺ
μ νμΈνμΈμ
Runs the Python script (or module).
If it runs without errors and prints output in the terminal, it worked.
4. Make
MediumPrerequisites
- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make
Compiles the code based on the generated build configuration to produce an executable.
If it finishes without errors, it worked. Try running the generated executable directly.
// repository documentation
Was this content helpful?
(0 ratings)
