node.js - cookie session express 包中带有 req.session 的空对象

标签 node.js express session-cookies cookie-session

我花了很长时间试图解决这个问题。我正在尝试使用快速 cookie session 来创建 cookie session 并在前面使用react。 Cookie 应该位于我的 req.session 对象中,但它是空的。

这是我的代码:

const cookieSession = require('cookie-session');
const express = require('express');
const app = express();
const cookieParser = require('cookie-parser'); 
const bodyParser = require('body-parser');
const keys = require('./config');


app.use(express.urlencoded({ extended: true }));
app.use(bodyParser.json());


app.set('trust proxy', 1);

app.use(cookieSession({
  name: 'session',
  maxAge: 3000000,
  keys: ['key1', 'key2']
}))

app.get('/t', function (req, res) {

 // here I'm expecting to get cookie object
  res.send(req.session);

})


require('./routes/tasksRoutes')(app);
require('./routes/checkAnswers')(app)

app.listen(5000);

你能帮我解决这个问题吗?为什么我得到空对象? 谢谢大家!

最佳答案

您需要设置cookie,您所做的只是配置它,现在您需要设置它才能使用它

const cookieSession = require('cookie-session');
const express = require('express');
const app = express();
const cookieParser = require('cookie-parser'); 
const bodyParser = require('body-parser');
const keys = require('./config');


app.use(express.urlencoded({ extended: true }));
app.use(bodyParser.json());


app.set('trust proxy', 1);

app.use(cookieSession({
  name: 'session',
  maxAge: 3000000,
  keys: ['key1', 'key2']
}))

// now when you'd hit this URL your user will have a cookie attached to it.
app.get('/s', function (req, res) {
    res.cookie('cookieName', 'cookieValue')
});

app.get('/t', function (req, res) {
// you'd be able to see your cookie object here after hitting '/s' API
 // here I'm expecting to get cookie object
  res.send(req.session);

})


require('./routes/tasksRoutes')(app);
require('./routes/checkAnswers')(app)

app.listen(5000);

关于node.js - cookie session express 包中带有 req.session 的空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50444637/

相关文章:

node.js - 是否可以将 NWJS 应用程序作为单个 exe 文件分发?

node.js - CORS 错误 Angular 2 + Express Node

使用 Node Express 在 digital ocean 中设置 mysql

javascript - Office JS ui.displayDialogAsync 在关闭时丢失 session cookie

security - 使用 FireSheep 劫持 Facebook;什么是最好的预防措施,它是如何起作用的?

javascript - Node JS - 在不知道键的情况下通过键合并对象

javascript - 这真的是从事件回调中获取 Rx.Observable 的最佳方式吗?

javascript - 从成员函数对对象所做的更改不会持续存在。范围/引用问题?

node.js - 结合express设置peerJS服务器

javascript - 在 session 中维护 Facebook 用户 ID