小编nor*_*ose的帖子

Node,express.session作为中间件不设置cookie

这个问题与NodeJS + Express有关 -将会话中间件应用到我认为可以解决我的问题的一些路线.但事实并非如此.

我正在尝试构建一个站点,其中第一个默认页面显示有关需要使用cookie的站点的用户信息,并让他有可能接受这个.因此,我不希望服务器在用户接受之前发送set-cookie标头.

正如在上面问题的解决方案中,我现在尝试将会话作为中间件插入到应该拥有它的路由中.问题是这样做我从来没有从服务器获得任何set-cookie标头.用Fiddler检查过这个.

我的代码看起来像这样(只有相关部分):

var express = require('express');
var app = express();
var session      = require('express-session');
var mongoose = require('mongoose');
var configDB = require('./config/database.js');
var mongoStore = require('connect-mongo')(session);

mongoose.connect(configDB.url);

var mongoSessionStore = new mongoStore({
    mongoose_connection: mongoose.connections[0]
});

.
.
.

var sessionMiddleware = session({
    secret: 'secret',
    store: mongoSessionStore,
    key:    'express.sessionID',
    cookie: {domain: 'the-domain', path: '/', httpOnly: true, secure: false, maxAge: null },
    saveUninitialized: false,
    resave: false   
});

require('./app/routes.js')(app, passport, sessionMiddleware);
Run Code Online (Sandbox Code Playgroud)

并且路径看起来像这样,在单独的文件中: …

session middleware setcookie node.js express

7
推荐指数
1
解决办法
5783
查看次数

标签 统计

express ×1

middleware ×1

node.js ×1

session ×1

setcookie ×1