req.isAuthenticated()在服务器启动一段时间后返回false
req.isAuthenticated() returns false after some time the server started
我在节点js-routes.js中实现了以下函数。在首先提供任何请求之前,都会检查是否为isAuthenticated。
function isLoggedIn(req, res, next) {
if (req.isAuthenticated()) {
console.log('Session Expiry '+req.session.cookie.expires);
console.log('Authenticated');
return next();
}
console.log('Not Authenticated');
res.redirect('/');
}
但当我在打开页面一段时间后刷新或导航到其他页面时,它会转到索引页面,而不是当前页面。我发现这是因为加载页面一段时间后req.isAuthenticated()的计算结果为false。
为什么它会变成假的?
是因为序列化不正确吗
这是我的序列化和反序列化方法,我在中做得对吗
passport.serializeUser(function (user, done) {
console.log('Serializing User');
done(null, user.id);
});
// used to deserialize the user
passport.deserializeUser(function (id, done) {
console.log('Calling Deserlize');
dbconn.user_findById(id, function (err, user) {//call to query DB
console.log('Deserializing user from DB');
done(err, user);
});
});
是关于cookie还是会话。请帮助
当您在express中创建cookie中间件时,您需要设置会话超时:
app.use(express.session({
secret : 'your_cookie_secret',
cookie:{
maxAge : 360000 // one hour in millis
}
})
对不起
事实上,我在azure上发布了我的网站。由于azure站点在空闲超时20分钟后重新启动,身份验证失败
相关文章:
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- 收集一段时间内的EMG数据.建议JS
- 在一段时间内切换文本
- 如何停止字幕文本一段时间,然后继续
- HTTP服务器在一段时间后停止(Node.js)
- Hammer.js过了一段时间就停止工作了
- Meteor-在一段时间内解锁模板(按日期)
- 画布在一段时间后开始滞后
- JS-在一段时间后水平移动图像
- AJAX 调用在获得响应并成功执行时会冻结浏览器一段时间
- 表单提交在一段时间循环PHP,jquery
- 一段时间后生成回发
- 一段时间后自动点击提交按钮
- 如何每隔一段时间更改我网站的背景颜色
- 一段时间后调用函数,但只调用一次
- 一段时间后使用Javascript加载网页ASP.net
- 在for循环中另一个音频结束后播放一段时间的音频
- 即使用户正在导航到其他页面,也要在一段时间后打开弹出窗口
- 如果通过 ajax 调用 PHP 页面需要一段时间才能运行/返回(并且它设置了会话变量),则第二次 ajax 调用会看到
- req.isAuthenticated()在服务器启动一段时间后返回false