LDAP authentication plugin for pretix.
You can install the plugin using
$ pip install pretix-ldap
You need to enable the plugin by including pretix_ldap.LDAPAuthBackend in the auth_backends option in your pretix.cfg (see https://docs.pretix.eu/en/latest/admin/config.html).
You also need to add a [ldap] section in your pretix.cfg to configure the connection to the ldap server.
Options are:
bind_url- The url of the ldap server (required)
Example:
ldap://ldap.example.com bind_dn- The dn of the account to use to query the ldap server (required)
Example:
cn=readonly,dc=example,dc=com bind_password- The password of the account to use to query the ldap server (required)
Example:
changeme search_base- The search base (required)
Example:
ou=people,dc=example,dc=com search_filter- Filter to search for users. You can use placeholders in curly braces, which will get populated from form fields of the same name.
Default:
(&(objectClass=inetOrgPerson)(mail={email}))Example:(&(objectClass=inetOrgPerson)(memberOf=cn=pretix,ou=groups,dc=example,dc=com)(mail={email})) email_attr- The name of an attribute that can be used to retrieve the user's email address
Default:
mail unique_attr- The name of a stable attribute that can be used to uniquely identify a user
Default:
dnExample:entryUUID
An example deployment using docker-compose can be found in the example folder.
After running docker-compose up you should be able to log in at http://localhost:80/control using the email "admin@example.com" and password "password".
- Make sure that you have a working pretix development setup.
- Clone this repository, eg to
local/pretix-ldap. - Activate the virtual environment you use for pretix development.
- Execute
python setup.py developwithin this directory to register this application with pretix's plugin registry. - Restart your local pretix server. You can now use the plugin from this repository for your events by enabling it in the 'plugins' tab in the settings.
Enter devshell: nix develop
Build package:
python -m build
Run linter:
flake8
Run tests:
cp -r dist tests cd tests pytest
Copyright 2019 sohalt
Released under the terms of the Apache License 2.0