Monday, 15 May 2017

LDAPJS authentication and search

ldapsearch -h myserver.123.com -b 'dc=123,dc=com' -x uid=myid

this command works for me. Gets what I want. But I try hard to implement this functionality to node.js

I try this example: I think that myserver.123.com dont need authentication. I dont know also how myserver.123.com is configured. What is important. The command above somehow works.

var password = '';
var username = 'myid';

var ldap = require('ldapjs');
var tlsOptions = {
    host: 'myid',
    port: '389'
};
var client = ldap.createClient({
    url: 'myserver.123.com',
    tlsOptions: tlsOptions
});

client.bind(username, password, function (err) {
    if (err) {
        console.log('Error occurred while binding');
    } else {
        var base = 'cn=user,dc=123,dc=com';
        var search_options = {
            scope: 'sub',
            filter: '(&(objectClass=*)(CN=' + username + '))',
            attrs: 'memberOf'
        };
        client.search(base, search_options, function (err, res) {
            if (err) {
                console.log('Error occurred while ldap search');
            } else {
                res.on('searchEntry', function (entry) {
                    console.log('Entry', JSON.stringify(entry.object));
                });
                res.on('searchReference', function (referral) {
                    console.log('Referral', referral);
                });
                res.on('error', function (err) {
                    console.log('Error is', err);
                });
                res.on('end', function (result) {
                    console.log('Result is', result);
                });
            }
        });
    }
});

I am new in this technology. And I realy dont know how make it works.



via Simon Teros

No comments:

Post a Comment