ldap
This commit is contained in:
parent
6a1c484356
commit
6054164089
5 changed files with 303 additions and 4 deletions
38
index.js
38
index.js
|
|
@ -2,20 +2,31 @@ let passport = require('passport');
|
|||
let express = require('express');
|
||||
let https = require('https');
|
||||
let fs = require('fs');
|
||||
let ldap = require('ldapjs');
|
||||
|
||||
let app = express();
|
||||
require('./config/passport.js');
|
||||
|
||||
let session = require('express-session');
|
||||
|
||||
let satitm_directory = ldap.createClient({
|
||||
url: 'ldap://ad.satitm.chula.ac.th:389'
|
||||
});
|
||||
|
||||
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');
|
||||
}
|
||||
});
|
||||
|
||||
app.use(session({
|
||||
secret: 'RLCCDwstDuT6nMJf5kko7C',
|
||||
resave: false,
|
||||
saveUninitialized: true
|
||||
}));
|
||||
|
||||
// ... rest of your code ...
|
||||
|
||||
app.use(passport.initialize());
|
||||
app.use(passport.session());
|
||||
|
||||
|
|
@ -26,6 +37,27 @@ app.get('/', function (req, res) {
|
|||
response = 'Hello World!<br>';
|
||||
console.log('User:', req.user);
|
||||
if (req.user) {
|
||||
// Query Active Directory for user details
|
||||
// username is the UPN
|
||||
let username = req.user.username;
|
||||
let opts = {
|
||||
filter: `(uid=${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) {
|
||||
console.log('entry: ' + JSON.stringify(entry.object));
|
||||
});
|
||||
res.on('error', function(err) {
|
||||
console.error('error: ' + err.message);
|
||||
});
|
||||
res.on('end', function(result) {
|
||||
console.log('status: ' + result.status);
|
||||
});
|
||||
});
|
||||
|
||||
console.log('User:', req.user);
|
||||
response += 'Username: ' + req.user.username + '<br>';
|
||||
response += 'First Name: ' + req.user.first_name + '<br>';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue