Node.js 会话ID不适用于Express

Node.js 会话ID不适用于Express,node.js,express,session,npm,postman,Node.js,Express,Session,Npm,Postman,我正在使用MEAN stack建立一个网站,目前正在使用express开发后端。当我创建一个用户时,会生成一个名为'req.session.userId'的会话id。出于测试目的,我正在“/logout”路由上进行测试,如果req.session.userId存在,则返回字符串“working”。似乎所有的东西都在邮递员身上工作,但在浏览器端却不行 这是邮递员的输出。它返回字符串“working” 这是来自浏览器的,当sessionId不存在时,它返回字符串“notworking” 这是路由

我正在使用MEAN stack建立一个网站,目前正在使用express开发后端。当我创建一个用户时,会生成一个名为'req.session.userId'的会话id。出于测试目的,我正在“/logout”路由上进行测试,如果req.session.userId存在,则返回字符串“working”。似乎所有的东西都在邮递员身上工作,但在浏览器端却不行

这是邮递员的输出。它返回字符串“working”

这是来自浏览器的,当
sessionId
不存在时,它返回字符串“notworking”

这是路由器调用的控制器的注销函数

exports.Logout = function(req,res,next){
 if (req.session.userId){
  res.send("working");
 else{
  res.send("this isn't working!");
 }
}
这来自app.js,用于存储会话

app.use(session({
    secret: 'hardworking cat',
    resave: true,
    saveUninitialized: false,
    store: new mongoStore({
        mongooseConnection: db //store sessionid when user logs in
    })
}));

我真的很困惑。它适用于邮递员,但不适用于我的浏览器。我可能遗漏了什么吗?

Postman执行API调用,该软件保存发送到前端时由后端创建的cookie。您能否提供从浏览器登录后返回的cookie内容的屏幕截图?好的。我没有看到Chrome开发工具上保存的cookie。在我的mongodb数据库中,我在用户登录时保存seSSIONID,在用户注销时将其删除。这是保存在我的Mongodb上的会话id;{“\u id”:“URond477aXWdyVBU5lz\u IQbv4RN\u SSEL”,“session”:“{“cookie\”:{“originalMaxAge\”:null,“expires\”:null,“httpOnly\”:true,“path\”:“/”},“userId\:“5B253D83B599682D08A0EF\”,“expires”:ISODate(“2018-06-30T17:08:35.385Z”)}当用户成功创建帐户时,它将使用sessionId登录。在创建用户时,我正在设置req.session.userId=user.\u id您需要做的第一件事是确保在用户登录时在req.session中设置会话。顺便说一句,您需要在express公用文件夹中部署您的Angular项目,否则浏览器中将不会存储Cookie。我认为问题是sessionId将根据“post”请求更改。在get请求下,sessionID仍然存在,但每当我发布时,sessionID就不同了。对不起,我道歉。我不知道邮递员的帖子会给出不同于浏览器的sessionId。我对网络开发非常陌生…很抱歉浪费您的时间