Skip to content

Add Ldap authentication + Gitlab CI + compatibility of ep_mypads with node > 4

Luc Didry requested to merge (removed):ldap-authent into master

LDAP authentication

This MR adds the ability to use LDAP authentication in ep_mypads. For that, add a ep_mypads section, containing a ldap section, in Etherpad's settings.json file:

"ep_mypads": {
    "ldap": {
        // Your LDAP URL
        "url": "ldaps://ldap.example.org",
        // The LDAP user to bind with
        "bindDN": "uid=ldap,ou=users,dc=example,dc=org",
        // His password
        "bindCredentials": "S3cr3t",
        // Where to search your users
        "searchBase": "ou=users,dc=example,dc=org",
        // A LDAP filter ({{username}} is replaced by user's login)
        "searchFilter": "(uid={{username}})",
        // LDAP properties mapping for MyPads
        "properties": {
            // Which LDAP property will be used as user's login?
            "login": "uid",
            // as user's email
            "email": "mail",
            // as user's firstname
            "firstname": "givenName",
            // as users's lastname
            "lastname": "sn"
        },
        // Default langage for LDAP created users
        "defaultLang": "fr"
    }
}

Beside properties and defaultLang, all the settings in the ldap section are ldapauth-fork (the module used for the LDAP authentication) settings. You can add other settings to it, just go on https://www.npmjs.com/package/ldapauth-fork#ldapauth-config-options to see which.

NB When using the LDAP authentication, registration of new accounts is disabled.

Compatibility of ep_mypads with node > 4

Right now, you can't use ep_mypads with node > 4. This MR update some dependencies and code in order to make ep_mypads compatible with node > 4 while keeping node 4 compatibility

Gitlab CI

This MR adds a .gitlab-ci.yml file to execute the test suite on multiple node versions.

Merge request reports