Сессия исчезает после внедрения CORS на моем Express Server - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь создать API в Express.js. Моя конфигурация такая:

var allowedOrigins = ['http://localhost', 'http://localhost:3000'];

app.use(cors({
  origin: function(origin, callback){
    if(!origin) return callback(null, true);

    if(allowedOrigins.indexOf(origin) === -1){

      var msg = 'The CORS policy for this site does not ' +
                'allow access from the specified Origin.';

      return callback(new Error(msg), false);
    }

    return callback(null, true);
  }
}));

//App settings
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(cookieParser());
app.use(session({
    secret: 'secret',
    resave: false,
    saveUninitialized: false
}));

Он работает правильно без блока CORS. Когда я добавляю блок cors, при каждом запросе моя сессия становится пустой и новой. Я что-то пропустил?

Запрос от клиента (приложение React) выглядит следующим образом:

return fetch(config.api.getAccounts, {
        method: 'get',
        headers: {
            'Content-Type': 'application/json',
            'Authorization': 'Bearer ' + store.getState().global.token

Но при этой загрузке у меня пустой сеанс на стороне сервера. Мне нужно сохранить сеанс между запросами на пользователя.

...