如何在快递中自定义cookie?

时间:2016-03-26 02:57:59

标签: node.js session cookies

我在我的项目中使用express-session

app.use(session({
  name: "server-session-cookie-id",
  secret: 'express secret',
  maxAge: 1000 * 3600 * 24,
  saveUninitialized: true,
  resave: true,
  store: new RedisStore({client: redisClient, ttl: 260, db: 2}),
}))
当我第一次访问我的应用程序时,

express-session将生成一个名为server-session-cookie-id的cookie。

但是,在我的情况下,我想在cookie中添加一些信息,如下所示:

cookie['server-session-cookie-id'] + uuid

如何在第一次生成cookie时更改cookie?

修改

我想我提出错误的问题,我想要的是第一次访问我的应用程序(任何页面)时,我只是创建一个名为uuid的cookie。

2 个答案:

答案 0 :(得分:1)

您可以使用res.cookienode-uuid设置Cookie。

npm install node-uuid --save

var uuid = require('uuid');

然后在主应用程序的中间件中检查user对象:

app.use(function(req, res, next) {
    if (!req.user) {
        res.cookie('uuid', uuid.v4());
    }
    next();
}

假设user请求对象中有req个对象,express-sessionpassport一起使用。

答案 1 :(得分:1)

如果你真的只想用你的uuid设置一个新的cookie(正如你在评论中所说),那么你可以在Express中执行此操作以响应任何传入的请求:

read