我在我的项目中使用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。
答案 0 :(得分:1)
您可以使用res.cookie
和node-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-session
与passport
一起使用。
答案 1 :(得分:1)
如果你真的只想用你的uuid设置一个新的cookie(正如你在评论中所说),那么你可以在Express中执行此操作以响应任何传入的请求:
read