/**
* @file ldap_auth
* @author Wangounet
* @summary Configuration de l'authentification LDAP du backend via passport-ldap
*/
import passport from 'passport';
import LdapStrategy from 'passport-ldapauth';
import session from 'express-session';
import fs from 'fs';
let config = JSON.parse(fs.readFileSync('config.json', 'utf8'));
passport.use(new LdapStrategy({
server: {
url: config.ldap.server,
searchBase: config.ldap.searchBase,
searchFilter: config.ldap.searchFilter
}
}));
function setupLdapAuth(server) {
// Define new login strategy
server.use(session({
secret: config.sessionSecret,
//store: a modifier avant de lancer en prod
//voir les autres options
resave: true,
saveUninitialized: false
}));
server.use(passport.initialize());
server.use(passport.session());
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(user, done) {
done(null, user);
});
// Returns middleware that parses cookies
//server.use(cookieParser());
}
export default setupLdapAuth;