Authenticate against an LDAP server

npm install ldapauth-fork
27 downloads in the last day
269 downloads in the last week
1 139 downloads in the last month

Fork of node-ldapauth - A simple node.js lib to authenticate against an LDAP server.

About the fork

This fork was created and published because of an urgent need to get newer version of ldapjs in use to passport-ldapauth since the newer version supports passing tlsOptions to the TLS module. Once the original module is updated I will likely deprecate the fork.

Changes in this fork include:

  • ldapjs upgraded from 0.5.6 to 0.6.3 (#11, #12)
  • use global search/replace of {{username}} (#10)
  • enable defining timeouts (#12)
  • enable defining attributes to return from LDAP server (#8)
  • enable anonymous binding (#2)
  • enable defining seach scope
  • clients are unbound in close() (#3)
  • bcrypt is an optional dependency (#13, also affects #9)

Multiple ldapjs client options have been made available. From the original options adminDn and adminPassword are optional.


var LdapAuth = require('ldapauth-fork');
var options = {
    url: 'ldaps://ldap.example.com:663',
var auth = new LdapAuth(options);
auth.authenticate(username, password, function(err, user) { ... });
auth.close(function(err) { ... })


npm install ldapauth-fork


MIT. See "LICENSE" file.

LdapAuth Config Options

Use the source Luke

express/connect basicAuth example

var connect = require('connect');
var LdapAuth = require('ldapauth-fork');

// Config from a .json or .ini file or whatever.
var config = {
  ldap: {
    url: "ldaps://ldap.example.com:636",
    adminDn: "uid=myadminusername,ou=users,o=example.com",
    adminPassword: "mypassword",
    searchBase: "ou=users,o=example.com",
    searchFilter: "(uid={{username}})"

var ldap = new LdapAuth({
  url: config.ldap.url,
  adminDn: config.ldap.adminDn,
  adminPassword: config.ldap.adminPassword,
  searchBase: config.ldap.searchBase,
  searchFilter: config.ldap.searchFilter,
  //log4js: require('log4js'),
  cache: true

var basicAuthMiddleware = connect.basicAuth(function (username, password, callback) {
  ldap.authenticate(username, password, function (err, user) {
    if (err) {
      console.log("LDAP auth error: %s", err);
    callback(err, user)
npm loves you