Node.js 如何将cookie与nodejs和mongodb一起使用?
我将nodejs(express)与mongodb一起使用,并试图弄清楚cookies是如何工作的。我目前可以让用户登录并对其进行身份验证。我如何发挥cookies的作用,如何使用cookies查询mongodb中的用户信息,并在用户登录后将其拖到下一页和下一页 目前,我有一个路由文件,它发布登录请求,然后根据成功情况重定向到userProfile页面,我希望在该页面上包含用户特定的详细信息,然后能够向用户显示其他页面,并让用户在查询时再次返回其唯一页面 更新的代码:(cookie可以按照更新的代码中的调用方式进行调用吗?) 登录后路由文件Node.js 如何将cookie与nodejs和mongodb一起使用?,node.js,mongodb,cookies,Node.js,Mongodb,Cookies,我将nodejs(express)与mongodb一起使用,并试图弄清楚cookies是如何工作的。我目前可以让用户登录并对其进行身份验证。我如何发挥cookies的作用,如何使用cookies查询mongodb中的用户信息,并在用户登录后将其拖到下一页和下一页 目前,我有一个路由文件,它发布登录请求,然后根据成功情况重定向到userProfile页面,我希望在该页面上包含用户特定的详细信息,然后能够向用户显示其他页面,并让用户在查询时再次返回其唯一页面 更新的代码:(cookie可以按照更新的
exports.loginPost = function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err) { return next(err) }
if (!user) { return res.redirect('loginError'); }
req.logIn(user, function(err) {
if (err) { return next(err); }
res.cookie('name', req.params.email, { expires: new Date(Date.now() + 900000), httpOnly: true });
return res.redirect('userProfile');
});
})(req, res, next);
};
先读这个
然后使用cookieparser和cookiesession
app.use(express.cookieParser('yoursecretkeyhere'));
app.use(express.cookieSession();
并将上述函数拆分为身份验证中间件方法和身份验证后处理程序
认证中间件只需要检查会话是否具有认证标志,如果没有,则重定向到登录页面。(如果这是单页应用程序的一部分,只需返回401并在浏览器中请求凭据)
然后,您的authenticate POST处理程序检查发布的用户名和密码凭据(或针对第三方api的其他凭据),并设置session.Authenticated标志,然后重定向。尝试使用cookieParser我理解这一点,但例如,我在主app.js文件上有一个来自express的cookieParser。如何设置以及登录时必须在何处设置?我如何使用它进行查询呢?我附上我的代码,如果一个例子可以显示,这将是伟大的。我有同样的问题,因为快速文档是。。。最小的试着用谷歌搜索一下,看看例子。我不能像这样把它贴在登录帖子上:res.cookie('name',req.params.email,{expires:new Date(Date.now()+900000),httpOnly:true});我不知道我是否理解。cookieSession是一种中间件,它将添加到会话对象的任何内容存储到加密的cookie中。浏览器会在每次请求时将cookie发送到服务器,cookieSession会读取cookie并将所有值填充回会话中。你不应该把东西放在一个不加密的cookie里,它应该是防篡改的。