javascript - Nodejs express-kakor läggs inte till


Jag försöker bygga en Node.js-app och jag måste definiera cookies. Detta är en del av koden:

var app = express();

app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.cookieParser());
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
...
app.get('/', routes.indexGET);
app.post('/login', routes.loginPOST);
app.post('/number', routes.numberPOST);
...
res.cookie('number', req.body.number, {secure: true, httpOnly: true, maxAge: 1209600000});
console.log(req.cookies); //Returns {}

Varför läggs inte kakan till? Jag vet att denna fråga har ställts här tidigare men jag hittade egentligen inget bra svar. Även "korrekta" svar (sätt cookieParser före routern) var inte hjälpsamma. Några förslag? Tack.

Svar #1

Inte säker på varför, men det fungerar inte för mig heller om secure: true-alternativet används i res.cookie('number', req.body.number, {secure: true, httpOnly: true, maxAge: 1209600000})

Använd det inte och det kommer att fungera... Jag antar att användning av det kräver en etablerad TLS-anslutning....