ldap-agent
v1.0.7
Published
Connected to ldap server
Downloads
22
Readme
Ldap Agent
Connected to ldap server
Install
npm install --save ldap-agent
Examples
Config file
{
"cn": ["Manager"],
"dc": ["maxcrc", "com"],
"url": "ldap://127.0.0.1:389",
"password": "123456"
}
Add
// Module
const LdapAgent = require('ldap-agent');
// Config
const config = require('./config.json');
// Init client
const Client = new LdapAgent(config);
/* Connection */
// With promise
Client.Init()
.then(() => {
console.log('Connected to ldap server'); // Connected
// Add entry
const entry = {
cn: 'foo',
sn: 'bar',
mail: '[email protected]',
objectclass: [
'person',
'organizationalPerson',
'inetOrgPerson',
],
};
return Client.Add(['usuarios'], ['testFolder'], entry, 'mail'); // Send query
})
.then((data) => {
console.log('Field added:', data); // Query success
})
.catch((errorGeneric) => {
console.error(`Error generic: ${errorGeneric.message}`);
});
Connection (callback)
// Module
const LdapAgent = require('ldap-agent');
// Config
const config = require('./config.json');
// Init client
const Client = new LdapAgent(config);
/* Connection */
Client.Init((connectError) => {
// Error handler
if (connectError) {
console.error(`Error connection: ${connectError.message}`);
return;
}
// Connection ready
console.log('Connected to ldap server (callback)');
});
Connection (promise)
// Module
const LdapAgent = require('ldap-agent');
// Config
const config = require('./config.json');
// Init client
const Client = new LdapAgent(config);
/* Connection */
Client.Init()
.then(() => {
console.log('Connected to ldap server (promise)');
})
.catch((connectError) => {
console.error(`Error connection: ${connectError.message}`);
});
Delete
// Module
const LdapAgent = require('ldap-agent');
// Config
const config = require('./config.json');
// Init client
const Client = new LdapAgent(config);
/* Connection */
// With promise
Client.Init()
.then(() => {
console.log('Connected to ldap server'); // Connected
// Delete entry
const condition = {
mail: '[email protected]',
};
return Client.Delete(condition, ['usuarios'], ['testFolder']); // Send query
})
.then((data) => {
console.log('Field deleted:', data); // Query success
})
.catch((errorGeneric) => {
console.error(`Error generic: ${errorGeneric.message}`);
});
Search all
// Module
const LdapAgent = require('ldap-agent');
// Config
const config = require('./config.json');
// Init client
const Client = new LdapAgent(config);
/* Connection */
// With promise
Client.Init()
.then(() => {
console.log('Connected to ldap server'); // Connected
return Client.Find(['usuarios'], ['testFolder'], { attributes: 'sn' }); // Send query
})
.then((data) => {
console.log(`${data.length} fields found!`); // Query success
})
.catch((errorGeneric) => {
console.error(`Error generic: ${errorGeneric.message}`);
});
Search with one filter
// Module
const LdapAgent = require('ldap-agent');
// Config
const config = require('./config.json');
// Init client
const Client = new LdapAgent(config);
/* Connection */
// With promise
Client.Init()
.then(() => {
console.log('Connected to ldap server'); // Connected
// Config
const options = {
attributes: 'sn',
filter: {
mail: '[email protected]',
},
};
return Client.Find(['usuarios'], ['testFolder'], options); // Send query
})
.then((data) => {
console.log('Field found:', data); // Query success
})
.catch((errorGeneric) => {
console.error(`Error generic: ${errorGeneric.message}`);
});
Search two filters
// Module
const LdapAgent = require('ldap-agent');
// Config
const config = require('./config.json');
// Init client
const Client = new LdapAgent(config);
/* Connection */
// With promise
Client.Init()
.then(() => {
console.log('Connected to ldap server'); // Connected
// Config
const options = {
attributes: 'sn',
filter: {
mail: '*@telefonica.com',
sn: 'bar',
},
};
return Client.Find(['usuarios'], ['testFolder'], options); // Send query
})
.then((data) => {
console.log('Fields found:', data.length); // Query success
})
.catch((errorGeneric) => {
console.error(`Error generic: ${errorGeneric.message}`);
});
Update values
// Module
const LdapAgent = require('ldap-agent');
// Config
const config = require('./config.json');
// Init client
const Client = new LdapAgent(config);
/* Connection */
// With promise
Client.Init()
.then(() => {
console.log('Connected to ldap server'); // Connected
// Update params
const update = {
sn: 'New value',
};
const where = {
mail: '[email protected]',
};
return Client.Update(update, where, ['usuarios'], ['testFolder']); // Send query
})
.then((data) => {
console.log('Field updated:', data); // Query success
})
.catch((errorGeneric) => {
console.error(`Error generic: ${errorGeneric.message}`);
});