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:
dn
Example: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 "[email protected]" 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 develop
within 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