持续loginPassport.js不再有效。 isAuthenticated返回false

我有这个代码在某种程度上工作,一定是在一些粗心大意的保存中丢失了它。 我试图实现持护照login,但似乎并没有这样做,因为我在isAuthentiacted中间件false

这是我的主server.js设置,你可以看到订单是好的。 但是我不确定cookie设置,因为我是新手。

 app.use(cookieParser('S3CRE7')); app.use(bodyParser.json()); app.use(session({ key: 'express.sid', resave: false, saveUninitialized: false, maxAge: 3000})); app.use(passport.initialize()); app.use(passport.session()); app.use('/users/', usersRouter); app.use('/transcriptions', transRouter); app.use(express.static('public')); const basicStrategy = new BasicStrategy(function(username, password, callback) { let user; User .findOne({username: username}) .exec() .then(_user => { user = _user; if (!user) { return callback(null, false, {message: 'Incorrect username'}); } return user.validatePassword(password); }) .then(isValid => { if (!isValid) { return callback(null, false, {message: 'Incorrect password'}); } else { return callback(null, user) } }); }); passport.use(basicStrategy); passport.serializeUser(function(user, done) { done(null, user.id); }); passport.deserializeUser(function(id, done) { User.findById(id, function(err, user) { done(err, user); }); }); 

这是我的初始login端点与自定义callback函数,它的日志很好,以及存储在客户端的cookie

 router.post('/login', function(req, res, next) { passport.authenticate('basic', function (err, account) { req.logIn(account, function() { res.status(err ? 500 : 200).send(err ? err : account); }); })(req, res, next) }); 

isAuthenticatedfunction:

 const isAuthenticated = function (req, res, next) { if (req.isAuthenticated()) return next(); console.log('not authenticated'); } 

authentication失败的第一行:

 router.get('/', isAuthenticated, (req, res) => { console.log(req); });