archon/routes/index.js

32 lines
826 B
JavaScript
Raw Permalink Normal View History

2022-05-25 00:34:10 -04:00
const ldap = require('ldapjs');
searchOpts = {
filter: '(objectClass=posixAccount)',
scope: 'sub',
attributes: ['uid', 'displayName', 'mail'],
};
2022-05-24 18:09:21 -04:00
exports.home = function(req, res, next) {
2022-05-25 00:34:10 -04:00
client = ldap.createClient({url: 'ldap://' + req.session.ldap_bind_host + '/'});
client.bind(req.session.ldap_bind_dn, req.session.ldap_bind_pw, (err) => {
if (err) {
console.log('There was an error while logging in. Please try again.');
res.redirect('/auth/login');
return next(err);
} else {
client.search('ou=People,' + req.session.ldap_base_dn, searchOpts, (err, result) => {
users = [];
result.on('searchEntry', (entry) => {
users.push(entry.object);
});
return res.render('index', {
users: users
});
});
}
});
2022-05-24 18:09:21 -04:00
};