]> git.immae.eu Git - perso/Immae/Projets/Nodejs/Surfer.git/blame - src/auth.js
Add ldap auth
[perso/Immae/Projets/Nodejs/Surfer.git] / src / auth.js
CommitLineData
591ad40c
JZ
1'use strict';
2
3var passport = require('passport'),
4 LdapStrategy = require('passport-ldapjs').Strategy;
5
6var LDAP_URL = process.env.LDAP_URL;
7var LDAP_USERS_BASE_DN = process.env.LDAP_USERS_BASE_DN;
8
9if (LDAP_URL && LDAP_USERS_BASE_DN) {
10 console.log('Enable ldap auth');
11
12 exports.ldap = passport.authenticate('ldap', {
13 successReturnToOrRedirect: '/',
14 failureRedirect: '/login',
15 failureFlash: true
16 });
17} else {
18 exports.ldap = function (req, res, next) {
19 console.log('ldap auth disabled');
20 next();
21 };
22}
23
24var opts = {
25 server: {
26 url: LDAP_URL,
27 },
28 base: LDAP_USERS_BASE_DN,
29 search: {
30 filter: '(uid={{username}})',
31 attributes: ['displayname', 'username', 'mail', 'uid'],
32 scope: 'sub'
33 },
34 uidTag: 'uid',
35 usernameField: 'username',
36 passwordField: 'password',
37};
38
39passport.use(new LdapStrategy(opts, function (profile, done) {
40 console.log('ldap', profile);
41 done(null, profile);
42}));