var ActiveDirectory = require('activedirectory');
var ad = new ActiveDirectory({ url: 'ldap://dc.domain.com',
baseDN: 'dc=domain,dc=com',
username: 'username@domain.com',
password: 'password'
});
ad.authenticate('user@njvc.local', 'Password1', function(err, isAuthenticated) {
if(err) throw err;
if(isAuthenticated) {
console.log('Authenticated!');
}
else {
console.log('Failed to authenticate');
}
});
var app = express();
app.use(logger());
app.use(bodyParser());
app.use(express.static(__dirname + '/public'));
app.use(function(req, res){
res.send('Hello');
});
var app = express();
app.use(bodyParser());
app.use(passport.initialize());
app.post('/login', passport.authenticate('local', { session: false }), function(req, res) {
console.log(req.user);
res.json({ msg: 'logged in!', user: req.user});
});
passport.use(new LocalStrategy(
function(username, password, done) {
if(username === password) {
return done(null, {
username: 'rhirsch',
first: 'Ryan',
last: 'Hirsch'
});
}
else {
return done(null, false);
}
}
));
passport.use(new LocalStrategy(
function(username, password, done) {
ad.authenticate(username, password, function(err, isAuthenticated) {
if(err) return done(err, null);
if(isAuthenticated) {
return done(null, {
username: username
});
}
else {
return done(null, false);
}
});
}
));
var passport = require('passport');
var WindowsStrategy = require('passport-windowsauth');
passport.use(new WindowsStrategy({
ldap: {
url: 'ldap://wellscordoba.wellscordobabank.com/DC=wellscordobabank,DC=com',
base: 'DC=wellscordobabank,DC=com',
bindDN: 'someAccount',
bindCredentials: 'andItsPass'
},
integrated: false
}, function(profile, done){
LocalUserDb.findOrCreate({ waId: profile.id }, function (err, user) {
done(err, user);
});
}));
var config = {
realm: 'http://localhost:3000/',
identityProviderUrl: 'https://login.windows.net/ad0ffc54-96b9-4757-bbb0-fcc293e2f4aa/wsfed',
identityMetadata: 'https://login.windows.net/ad0ffc54-96b9-4757-bbb0-fcc293e2f4aa/federationmetadata/2007-06/federationmetadata.xml'
logoutUrl:'http://localhost:3000/'
};
passport.use(new wsfedsaml2(config, function(profile, done) {
if (!profile.email) {
done(new Error("No email found"));
return;
}
// validate the user here
done(null, profile);
}));