nodejs里使用passport登录成功后,设置session时sessionID变化了,导致设置无效
PS:环境是windows server 2012 R2,node v12.4.0(在win7和windows server 2008 R2上正常)
passport.serializeUser(function(user, done) {
utils.log('passport.local.serializeUser:' + JSON.stringify(user));
done(null, user.account);
});
passport.deserializeUser(function(account, done) {
utils.log('passport.local.deserializeUser:' + JSON.stringify(account));
myDb.query(`select * from users where account=?`, [account], function (err, result) {
if (err) {
utils.log('[SELECT ERROR] - ' + err.message);
} else {
done(null, result[0]);
}
});
});
原因已经找到了,发现前端发起post请求时没有带cookie,在fetch里添加
这样就可以了,至于其他电脑可以的问题,可能是浏览器自己处理了吧,Chrome70几可以直接正常访问,64还需要添加这个东西