Ldapper 1.x
Node module that provides wrapper methods for ldapjs
client.
Installation
In your project root run from command line:
$ npm install -save ldapper
Example
Let's start! Include in your node application ldapper
module:
//require objectvar Ldapper = Ldapper;//or require factoryvar factory = ; //create optionsvar options = domainControllers: '192.168.99.100' searchScope: 'ou=users,dc=acme,dc=com' root: dn: 'cn=admin,dc=acme,dc=com' password: crypton: false value: 'admin' ; //create an instancevar ldappermanager1 = options;//or use factoryvar ldappermanager2 = factory; ldappermanager1;
Documentation
Construction
A Ldapper
instance can be created using factory or using the new
keyword.
var factory = ;var ldappermanager1 = factory;//orvar Ldapper = Ldapper;var ldappermanager2 = ;
new Ldapper( [options] ) : Object
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: crypton: false value: null crypton: null ssl: false timeout: null connectTimeout: null strictdn: false
Methods
find( [filter], [attributes], [searchDn], [options] ) : Promise( Array )
Search entries from ldap.
Arguments
[filter] {string} An ldap filter[attributes] {Array} Specify returned attributes[searchDn] {string} Search path[options] {object} Overrides configuration for searchOptions
Returns
{Array} Returns a list of entries
Throws
{LDAPSearchError}
findOne( dn, [attributes], [options] ) : Promise( Object )
Get an entry from ldap.
Arguments
dn {string} Distinguished name[attributes] {Array} Specify returned attributes[options] {object} Overrides configuration for searchOptions
Returns
{Object} Returns the entry
Throws
{LDAPSearchError}
findGuid( guid, [attributes], [options] ) : Promise( Object )
Get an entry from Active Directory by objectGuid.
Arguments
guid {string|Buffer} Object guid[attributes] {Array} Specify returned attributes[options] {object} Overrides configuration for searchOptions
Returns
{Object} Returns the entry
Throws
{LDAPSearchError}
findSid( sid, [attributes], [options] ) : Promise( Object )
Get an entry from Active Directory by objectSid.
Arguments
sid {string|Buffer} Object sid[attributes] {Array} Specify returned attributes[options] {object} Overrides configuration for searchOptions
Returns
{Object} Returns the entry
Throws
{LDAPSearchError}
add( dn, [entry] ) : Promise( bool )
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( dn, changes ) : Promise( Object )
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( dn, newDn ) : Promise( bool )
Rename an entry into ldap.
Arguments
dn {string} Old distinguished namenewDn {string} New distinguished name
Returns
{bool} Returns success
Throws
{LDAPRenameError}
delete( dn ) : Promise( bool )
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 usernamepassword {string} The password[authAttributes] {Array|string} Specify which attributes using for authentication[retAttribute] {Array|string} Specify returned attributes[searchDn] {string} Search path
Returns
{Object} Returns an object
Throws
{LDAPAuthenticationError}
License
The MIT License
Copyright (c) 2017 Michele Andreoli http://thinkingmik.com