diff --git a/index.js b/index.js index 966dc6f..929c685 100644 --- a/index.js +++ b/index.js @@ -7,6 +7,7 @@ let ldap = require('ldapjs'); let app = express(); require('./config/passport.js'); let session = require('express-session'); +const { group } = require('console'); let satitm_directory = ldap.createClient({ url: 'ldap://ad.satitm.chula.ac.th:389' @@ -41,34 +42,37 @@ app.get('/', function (req, res) { // username is the UPN let username = req.user.username; let opts = { - filter: `(uid=${username})`,// replace 'username' with the actual username + filter: `(userPrincipalName=${username})`,// replace 'username' with the actual username scope: 'sub', attributes: ['dn', 'memberOf'] }; - - satitm_directory.search('o=example', opts, function(err, res) { - res.on('searchEntry', function(entry) { + let groups = ''; + satitm_directory.search('DC=ad,DC=satitm,DC=chula,DC=ac,DC=th', opts, function(err, ldapRes) { + ldapRes.on('searchEntry', function(entry) { console.log('entry: ' + JSON.stringify(entry.object)); + groups = entry.object.memberOf; }); - res.on('error', function(err) { + ldapRes.on('error', function(err) { console.error('error: ' + err.message); }); - res.on('end', function(result) { + ldapRes.on('end', function(result) { console.log('status: ' + result.status); + console.log('User:', req.user); + response += 'Username: ' + req.user.username + '
'; + response += 'First Name: ' + req.user.first_name + '
'; + response += 'Last Name: ' + req.user.last_name + '
'; + response += 'Group: ' + groups + '
'; + response += 'Logout'; + res.send(response); }); }); - console.log('User:', req.user); - response += 'Username: ' + req.user.username + '
'; - response += 'First Name: ' + req.user.first_name + '
'; - response += 'Last Name: ' + req.user.last_name + '
'; - response += 'Org Unit: ' + req.user.org_unit + '
'; - response += 'Logout'; + } else { response += 'Login'; + res.send(response); } - res.send(response); }); app.get('/logout', function (req, res) {