Node module that provides wrapper methods for ldapjs
client.
In your project root run from command line:
$ npm install -save ldapper
Let's start! Include in your node application ldapper
module:
//import ldapper
import { Ldapper } from 'ldapper';
//create options
const options = {
domainControllers: ['192.168.99.100'],
searchScope: 'ou=users,dc=acme,dc=com',
root: {
dn: 'cn=admin,dc=acme,dc=com',
password: 'admin'
}
};
//create an instance
let ldapper = new Ldapper(options);
ldapper.find('|(cn=test*)(sn=test*)')
.then(res => {
console.log(res);
});
A Ldapper
instance can be created by using the new
keyword.
import { Ldapper } from 'ldapper';
let ldapper = new Ldapper();
The ldapper
module can be initialized with a configuration object.
Arguments
[options] {Object} Optional configuration
Returns
{Object} Get an instance
The configuration object allows you to overrides default values. If you don't specify any configuration, it uses a default object:
{
domainControllers: [],
searchScope: null,
searchOptions: {
scope: 'sub',
filter: '(objectclass=*)',
attributes: [],
sizeLimit: 0,
paged: false
},
root: {
dn: null,
password: null
}
ssl: false,
timeout: null,
connectTimeout: null,
strictdn: false
}
Search entries from ldap.
Arguments
[filter] {string} An ldap filter
[attributes] {Array} Specify returned attributes
[searchScope] {string} Overrides default search scope
[options] {object} Overrides searchOptions configuration
Returns
{Array} Returns a list of entries
Throws
{LDAPSearchError}
Get an entry from ldap.
Arguments
dn {string} Distinguished name
[attributes] {Array} Specify returned attributes
[options] {object} Overrides searchOptions configuration
Returns
{Object} Returns the entry
Throws
{LDAPSearchError}
Get an entry from Active Directory by objectGuid.
Arguments
guid {string|Buffer} Object guid
[attributes] {Array} Specify returned attributes
[searchScope] {string} Overrides default search scope
[options] {object} Overrides searchOptions configuration
Returns
{Object} Returns the entry
Throws
{LDAPSearchError}
Get an entry from Active Directory by objectSid.
Arguments
sid {string|Buffer} Object sid
[attributes] {Array} Specify returned attributes
[searchScope] {string} Overrides default search scope
[options] {object} Overrides searchOptions configuration
Returns
{Object} Returns the entry
Throws
{LDAPSearchError}
Create a new entry into ldap.
Arguments
dn {string} Distinguished name to create
[entry] {Object} Attributes to set on ldap for entry
Returns
{bool} Returns success
Throws
{LDAPAddError}
Change an entry into ldap. The list of changes must be an object with these attributes:
op
one of these values [write
|append
|delete
]attr
the ldap attribute name to changeval
the ldap value to add/replace
//Example:
var changes = [
//Add a new value or replace the old value if exists
{ op: 'write', attr: 'cn', val: 'test' },
//Append values to the attribute
{ op: 'append', attr: 'mail', val: 'test.02@acme.com' },
{ op: 'append', attr: 'mail', val: 'test.03@acme.com' },
//Delete all values for the given attribute
{ op: 'delete', attr: 'loginShell' }
//Delete only the value specified
{ op: 'delete', attr: 'mail', val: 'test.02@acme.com' }
]
Arguments
dn {string} Distinguished name to change
[changes] {Array|Object} A list of changes or a single change
Returns
{Object} Returns the changed entry
Throws
{LDAPChangeError}
Rename an entry into ldap.
Arguments
dn {string} Old distinguished name
newDn {string} New distinguished name
Returns
{bool} Returns success
Throws
{LDAPRenameError}
Delete an entry from ldap.
Arguments
dn {string} Distinguished name to delete
Returns
{bool} Returns success
Throws
{LDAPDeleteError}
authenticate( username, password, [authAttributes], [retAttribute], [searchDn] ) : Promise( Object )
Check if given credentials are valid on ldap.
Arguments
username {string} The username
password {string} The password
[authAttributes] {Array|string} Specify which attributes has been used for authentication
[retAttribute] {Array|string} Specify returned attributes
[searchDn] {string} Search path
Returns
{Object} Returns an object
Throws
{LDAPAuthenticationError}
The MIT License
Copyright (c) 2018 Michele Andreoli http://thinkingmik.com