32 lines
No EOL
906 B
JavaScript
32 lines
No EOL
906 B
JavaScript
let ldap = require('ldapjs');
|
|
let fs = require('fs');
|
|
let tls = require('tls');
|
|
|
|
let satitm_directory = ldap.createClient({
|
|
url: 'ldaps://ad.satitm.chula.ac.th:636',
|
|
tlsOptions: {
|
|
rejectUnauthorized: false
|
|
}
|
|
});
|
|
|
|
// Save server's certificate to file for same-host verification
|
|
satitm_directory.on('connect', function(socket) {
|
|
socket.on('secureConnect', function() {
|
|
if (socket.getPeerCertificate().raw) {
|
|
fs.writeFileSync('certificate.pem', socket.getPeerCertificate().raw);
|
|
satitm_directory.tlsOptions = {
|
|
ca: [fs.readFileSync('certificate.pem')]
|
|
};
|
|
}
|
|
});
|
|
});
|
|
|
|
satitm_directory.bind('CN=SSOManager,OU=Service Accounts,DC=ad,DC=satitm,DC=chula,DC=ac,DC=th', '39BK5LCeU2NY2oG3beeBJH', function (err) {
|
|
if (err) {
|
|
console.log('Error:', err);
|
|
} else {
|
|
console.log('Connected to SATITM Active Directory');
|
|
}
|
|
});
|
|
|
|
module.exports = satitm_directory; |