Экспресс-сессия cookie не сохраняется на поддомене - PullRequest
0 голосов
/ 30 октября 2019

Я использую экспресс-сессию. Локально работает, но при развертывании в рабочей среде интерфейс (frontend.example.com) не сохраняет cookie, возвращаемый из API (api.example.com). Я делаю запрос внешнего интерфейса с withCredentials:true (axios). Вот мой код на бэкэнде (отредактированный для краткости):

const cors = require('cors');
var session = require('express-session');
var SequelizeStore = require('connect-session-sequelize')(session.Store);

const sessionStore = new SequelizeStore({
    db: db.sequelize,
    checkExpirationInterval: 15 * 60 * 1000, // The interval at which to cleanup expired sessions in milliseconds.
    expiration: sessionExpiration,
});
sessionStore.sync();

const app = express();

// corsOrigin is a function that returns a matching domain
app.use(cors({ origin: corsOrigin, credentials: true }));

app.use(
    session({
        name: 'sid',
        secret: process.env.SESSION_SECRET,
        store: sessionStore,
        saveUninitialized: true,
        resave: false,
        proxy: false,
        cookie: {
            maxAge: sessionExpiration,
            httpOnly: false,
            domain: '.example.com',
            secure: false,
        },
    })
);

Я думаю, что это проблема под / междоменная, но я ожидал, что domain: '.example.com' решит проблему. Есть мысли?

...