无法获得护照/快递与LocalStrategy一起使用。 得到401

我以为我跟着文件,但我得到了一个401响应。 我有一个简单的POST表单,收到401响应。

这是我的示例代码(CASE 1):

passport.serializeUser(function(user, done) { console.log("Serializing:", user); done(null, JSON.parse(user)); }); passport.deserializeUser(function(obj, done) { console.log("Deserializing:" + obj); done(null, obj); }); passport.use(new LocalStrategy( function(username, password, done) { console.log("Authenticating.....:" + username); User.findOne({ username: username }, function(err, user) { if (err) { return done(err); } if (!user) { return done(null, false, { message: 'Incorrect username.' }); } if (!user.validPassword(password)) { return done(null, false, { message: 'Incorrect password.' }); } return done(null, user); }); } )); app.post('/auth/login', passport.authenticate('local'), function (req, res) { console.log("Made it here"); } ); 

上面的代码从不打印任何发送到console.log的消息。 我所看到的是一个来自nodejs / express的消息,显示控制台中的“POST / auth / login 401”。

有趣的是,我改变了app.post函数如下(CASE 2):

 app.post('/auth/login', passport.authenticate('local', { successRedirect:'/partials/playlist/playlists', failureRedirect:'/partials/welcome' }), function (req, res) { console.log("Made it here"); } ); 

这一次被调用的唯一链接是/ partials / welcome'redirect为“POST / auth / login 302”。 同样,没有消息logging在控制台中。

我的问题:为什么两个app.post实现(CASE 1与CASE 2)的不同行为? 为什么我的“SucessRedirect”从未在案例2中调用? 为什么没有打印在console.log?

有任何想法吗?