Skip to main content

An LDAP3 auth provider for Synapse

Project description

Allows synapse to use LDAP as a password provider.

This allows users to log in to synapse with their username and password from an LDAP server. There is also ma1sd (https://github.com/ma1uta/ma1sd) (3rd party) that offers more fully-featured integration.

Installation

  • Via deb package python-matrix-synapse-ldap3 available in the same repo as the synapse package

  • Via python’s package manager: pip install matrix-synapse-ldap3

Usage

Example synapse config:

password_providers:
 - module: "ldap_auth_provider.LdapAuthProvider"
   config:
     enabled: true
     uri: "ldap://ldap.example.com:389"
     start_tls: true
     base: "ou=users,dc=example,dc=com"
     attributes:
        uid: "cn"
        mail: "email"
        name: "givenName"
     #bind_dn:
     #bind_password:
     #filter: "(objectClass=posixAccount)"

If you would like to enable login/registration via email, or givenName/email binding upon registration, you need to enable search mode. An example config in search mode is provided below:

password_providers:
 - module: "ldap_auth_provider.LdapAuthProvider"
   config:
     enabled: true
     mode: "search"
     uri: "ldap://ldap.example.com:389"
     start_tls: true
     base: "ou=users,dc=example,dc=com"
     attributes:
        uid: "cn"
        mail: "email"
        name: "givenName"
     # Search auth if anonymous search not enabled
     bind_dn: "cn=hacker,ou=svcaccts,dc=example,dc=com"
     bind_password: "ch33kym0nk3y"
     #filter: "(objectClass=posixAccount)"

Troubleshooting and Debugging

matrix-synapse-ldap3 logging is included in the Synapse homeserver log (typically homeserver.log). The LDAP plugin log level can be increased to DEBUG for troubleshooting and debugging by making the following modifications to your Synapse server’s logging configuration file:

  • Set the value for handlers.file.level to DEBUG:

handlers:
  file:
    # [...]
    level: DEBUG
  • Add the following to the loggers section:

loggers:
   # [...]
   ldap3:
     level: DEBUG
   ldap_auth_provider:
     level: DEBUG

Finally, restart your Synapse server for the changes to take effect:

synctl restart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matrix-synapse-ldap3-0.1.4.tar.gz (12.4 kB view details)

Uploaded Source

File details

Details for the file matrix-synapse-ldap3-0.1.4.tar.gz.

File metadata

  • Download URL: matrix-synapse-ldap3-0.1.4.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.1 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.4

File hashes

Hashes for matrix-synapse-ldap3-0.1.4.tar.gz
Algorithm Hash digest
SHA256 5d36a0ef8cd005d8791047bec1b2dc1dda4abe6e3190e012f4d604aa13d27505
MD5 b6526de346c596daaf77c5699700ffcf
BLAKE2b-256 1a5b0ee5c85b2e4895856475a137cecdaa7fd9612553edff2cbb647db13e90e3

See more details on using hashes here.

Supported by

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