Skip to main content

Allows TiddlyWeb users to Authenticate against an LDAP server.

Project description

[![Build Status](https://travis-ci.org/pads/tiddlywebplugins.ldapauth.png)](https://travis-ci.org/pads/tiddlywebplugins.ldapauth)
[![Coverage Status](https://coveralls.io/repos/pads/tiddlywebplugins.ldapauth/badge.png)](https://coveralls.io/r/pads/tiddlywebplugins.ldapauth)
[![Latest Release](https://pypip.in/v/tiddlywebplugins.ldapauth/badge.png)](https://crate.io/packages/tiddlywebplugins.ldapauth/)
About
=====

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).

Requirements
============

* [Python](http://www.python.org/).
* [pip](http://www.pip-installer.org/en/latest/).
* make.
* A working TiddlyWeb instance to test against.
* [py.test](http://pytest.org/latest/) to run the tests.
* An LDAP server (e.g. [OpenLDAP](openldap.org)) with some users that have passwords.

Modifying
=========

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 test` runs the tests.
* `make test_with_coverage` runs the tests with code coverage reporting from `pytest-cov`
* `make pep8` runs pep8 over the code to check for style compliance.
* `make install` installs the plugin as a package on your system
(you may need sudo for this.)
* `make release` packages and uploads the plugin to [PyPI](http://pypi.python.org/pypi) for distribution.

Setting up LDAP
===============

See [this guide](http://pads.tiddlyspace.com/OpenLDAP%20Setup).

Plugin Installation
===================

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

TiddlyWeb Configuration
=======================

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.

Usage
=====

The URL to authenticate with will end in:

`challenge/tiddlywebplugins.ldapauth`

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page