47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
const ldap = require('ldapjs');
|
|
|
|
const client = ldap.createClient({
|
|
url: ['ldaps://srv-dc.vbn-gmbh.local:636']
|
|
});
|
|
|
|
client.on('connectError', (err) => {
|
|
// handle connection error
|
|
console.error('Handle connection error!');
|
|
})
|
|
|
|
client.bind('cn=Begerad\, Stefan', 'secret', (err) => {
|
|
assert.ifError(err);
|
|
console.error('Bind error?!');
|
|
});
|
|
|
|
const opts = {
|
|
filter: '(&(l=Begerad)(email=*@vbn.de))',
|
|
scope: 'sub',
|
|
attributes: ['dn', 'sn', 'cn']
|
|
};
|
|
|
|
client.search('o=example', opts, (err, res) => {
|
|
assert.ifError(err);
|
|
|
|
res.on('searchRequest', (searchRequest) => {
|
|
console.log('searchRequest: ', searchRequest.messageId);
|
|
});
|
|
res.on('searchEntry', (entry) => {
|
|
console.log('entry: ' + JSON.stringify(entry.pojo));
|
|
});
|
|
res.on('searchReference', (referral) => {
|
|
console.log('referral: ' + referral.uris.join());
|
|
});
|
|
res.on('error', (err) => {
|
|
console.error('error: ' + err.message);
|
|
});
|
|
res.on('end', (result) => {
|
|
console.log('status: ' + result.status);
|
|
});
|
|
});
|
|
|
|
client.unbind((err) => {
|
|
assert.ifError(err);
|
|
console.error('Unbind error?!');
|
|
});
|