Allows TiddlyWeb users to Authenticate against an LDAP server.
It has been tested with OpenLDAP but other LDAP-compliant servers could be used (e.g. Active Directory).
- Python.
- pip.
- make.
- A working TiddlyWeb instance to test against.
- py.test to run the tests.
- An LDAP server (e.g. OpenLDAP) with some users that have passwords.
The best way to figure out how to work with this project is to look at the .travis.yml
file.
setup.py
is used to package up the plugin, install and distribute.
Plugin code lives in the tiddlywebplugins
directory.
Tests live in the test
directory.
make install
installs the plugin as a package on your systemmake install_dev
installs packages necessary to run tests, check style and provide test coveragemake test
runs the tests.make test_with_coverage
runs the tests with code coverage reporting frompytest-cov
make pep8
runs pep8 over the code to check for style compliance. (you may need sudo for this.)make release
packages and uploads the plugin to PyPI for distribution.
See this guide.
Requires the following OS packages:
apt-get install libldap2-dev libsasl2-dev
On Redhat-based systems this is:
yum install openldap-devel
Then install tiddlywebplugins.ldapauth:
pip install -U tiddlywebplugins.ldapauth
Reference the plugin from your TiddlyWeb configuration as an auth system plugin e.g:
'auth_systems': ['tiddlywebplugins.ldapauth']
Configure an LDAP server to communicate with. If this is not specified then 127.0.0.1:389
is the default connection.
'ldapauth': {
'ldap_host': 'my.ldapserver.com',
'ldap_port': '3890',
'ldap_base_dn': 'dc=my,dc=domain'
'ldap_tiddlyspace_mode': True
}
If ldap_base_dn
is not specified then dc=localhost
is assumed.
'ldap_tiddlyspace_mode': True
is only needed for TiddlySpace installations where a CSRF token is required.
The URL to authenticate with will end in:
challenge/tiddlywebplugins.ldapauth