Always getting Unknown authentication strategy "ldapauth"
RikyTres opened this issue · comments
Riccardo Tresoldi commented
Hi, I'm trying to implement an ldap authentication to a local Windows domain.
I followed the example on the the README but I still have the following error
Unknown authentication strategy "ldapauth"
Error: Unknown authentication strategy "ldapauth"
at attempt (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\passport\lib\middleware\authenticate.js:186:37)
at authenticate (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\passport\lib\middleware\authenticate.js:362:7)
at Layer.handle [as handle_request] (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\layer.js:95:5)
at C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:281:22
at Function.process_params (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:275:10)
at Function.handle (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:174:3)
at router (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:47:12)
at Layer.handle [as handle_request] (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:317:13)
at C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:284:7
at Function.process_params (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:275:10)
at initialize (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\passport\lib\middleware\initialize.js:53:5)
at Layer.handle [as handle_request] (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\layer.js:95:5)
at trim_prefix (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:317:13)
at C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:284:7
at Function.process_params (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\riccardo.tresoldi\development\exchangedbmanager\node_modules\express\lib\router\index.js:275:10)
I'm using an Express.
In the /app.js
file i have this:
var passport = require('passport');
var LdapStrategy = require('passport-ldapauth');
[...]
passport.use(new LdapStrategy({
server: {
url: 'ldap://10.255.255.1:389',
bindDN: 'CN=simple One,CN=Users,DC=test,DC=local',
bindCredentials: 'password',
searchBase: 'OU=Utenti e Gruppi,OU=Tresoldi,DC=tresoldi,DC=loc',
searchFilter: '(uid={{username}})'
},
usernameField: "CN=simple One,CN=Users,DC=test,DC=local",
passwordField: "password"
}),
function (user, done) {
logger.info("LDAP user ", user.displayName, "is logged in.")
return done(null, user);
});
[...]
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(passport.initialize());
app.use('/', indexRouter);
ant in the index.js file for the /routes/index.js
file (to handle the request) I have this:
var passport = require('passport');
router.post('/login', passport.authenticate('ldapauth', {session: false}), function(req, res) {
res.send({status: 'ok'});
});
Can someone help me? I probably misunderstood the example.
Vesa Poikajärvi commented
Might be because of the odd function that apparently should be the callback for LdapStrategy
but is not given as parameter to it. But, this question does not use the issue template nor does it belong here. See StackOverflow.