Постоянная сессия между маршрутами экспресс-сессий NodeJS - PullRequest
0 голосов
/ 08 июня 2018

Я не могу вести сеансы между разными маршрутизаторами с помощью экспресс-сеансов.Это мой app.js

const express = require('express');
const myRoutes = require('./routes/my-route');
const app = express();
const session = require('express-session');

app.use(session({
    secret: 'SECRET',
    cookie: {maxAge: 60*60*1000, httpOnly: true, secure: false},
    resave: false,
    saveUninitialized: true,
}));

app.use('/my-routes', myRoutes);
app.use('/submit', function(req, res, next) {
  req.session.info = req.body.info;
});

Все вызовы /submit работают нормально, и сеанс поддерживается.Но когда я пытаюсь вызвать что-либо с помощью /my-routes/<route>, создается новый файл cookie и сеанс сбрасывается.

Перед любыми вызовами это выглядит так:

{
  "cookie": {
    "originalMaxAge":3600000,
    "expires":"2018-06-08T17:51:37.229Z",
    "secure":false,
    "httpOnly":true,
    "path":"/"
  }
}

Послеодиночный вызов /submit

{
  "cookie": {
    "originalMaxAge":3600000,
    "expires":"2018-06-08T17:51:37.229Z",
    "secure":false,
    "httpOnly":true,
    "path":"/"
  },
  "info": "thing"
}

Затем, когда я вызываю любой маршрут в /my-routes/<route>

{
  "cookie": {
    "originalMaxAge":3600000,
    "expires":"2018-06-08T17:51:37.446Z",
    "secure":false,
    "httpOnly":true,
    "path":"/"
  }
}

, который выглядит так, как будто cookie был сброшен из-за истечения срока действия нового файла.

Вот как я называю AJAX

$.ajax({
  type: 'POST',
  url: '/submit',
  data: data,
  dataType: 'json',
  success: function(data) {
    window.location.href = '/index.html';
  },
});
...