2022-05-25 00:34:10 -04:00
|
|
|
const ldap = require('ldapjs');
|
|
|
|
|
2022-05-24 23:50:49 -04:00
|
|
|
exports.getLogin = (req, res, next) => {
|
|
|
|
res.render('auth/login');
|
|
|
|
};
|
2022-05-25 00:34:10 -04:00
|
|
|
|
|
|
|
exports.postLogin = (req, res, next) => {
|
|
|
|
|
|
|
|
bindHost = req.body.ldap_bind_host;
|
|
|
|
bindDn = req.body.ldap_bind_dn;
|
|
|
|
bindPw = req.body.ldap_bind_pw;
|
|
|
|
|
|
|
|
client = ldap.createClient({url: 'ldap://' + bindHost + '/'});
|
|
|
|
client.bind(bindDn, bindPw, (err) => {
|
|
|
|
if (err) {
|
|
|
|
console.log('There was an error while logging in. Please try again.');
|
|
|
|
res.redirect('/auth/login');
|
|
|
|
return next(err);
|
|
|
|
} else {
|
|
|
|
console.log('Success!');
|
|
|
|
req.session.ldap_bind_host = bindHost;
|
|
|
|
req.session.ldap_bind_dn = bindDn;
|
|
|
|
req.session.ldap_bind_pw = bindPw;
|
|
|
|
baseDnBits = bindDn.split(',');
|
|
|
|
baseDnBits.shift();
|
|
|
|
baseDn = baseDnBits.join(',');
|
|
|
|
req.session.ldap_base_dn = baseDn;
|
|
|
|
return res.redirect('/');
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
};
|