Экспресс сеанс потерян на некоторых устройствах / браузере - PullRequest
0 голосов
/ 19 июня 2019

У меня работает веб-сайт, и у меня возникают некоторые проблемы с сеансами в некоторых браузерах, таких как samsung browser и IE.

В Google Chrome работает нормально, но в некоторых браузерах я не могусохранить сеанс.

Это сеанс приложения

  app.use(session({
  cookie: {
      maxAge: 60000000
    },
    secret: "shhhhhh",
    resave: false,
    name: "shhhhh",
    saveUninitialized: true,
    store: new MongoStore({
      mongooseConnection: db
    })
  })
);

. У меня есть этот запрос, который является выборкой

app.post("/sendUserID", function(req, res) {
  var sendUserID = function() {
    req.session.userIDGuest = req.body.UserID;
    req.session.save(function() {
      res.status(200).json({ id: req.body.UserID });
    });
    console.log("SEND USER ID", req.session);
  };
  sendUserID();
});

Это регистрирует это, и здесь мы имеемсеанс, как я хочу

SEND USER ID Session {
cookie:
 { path: '/',
   _expires: 2019-06-20T03:43:47.081Z,
   originalMaxAge: 60000000,
   httpOnly: true },
UserID: '',
userType: 'CF',
ID_Lingua: 'PT',
ID_Moeda: 'EUR',
userName: null,
token: null,
categorySelected: null,
ConsultantType: '1',
userIDGuest: 'jx34n1dyjx34n1dzjx34n1e0' }

Но я делаю новую выборку вот так

export function fetchCart() {
  return dispatch => {
    dispatch(loadingCart(true));
    return new Promise((resolve, reject) => {
      dispatch(fetchCartBegin());
      return fetch("/get/minicart", {
        method: "POST",
        headers: {
          Accept: "application/json",
          "Content-Type": "application/json"
        }
      })
        .then(handleErrors)
        .then(res => res.json())
        .then(json => {
          resolve({ cart: json.cart });
          dispatch(fetchCartSuccess(json.cart));
          dispatch(loadingCart(false));
          // console.log("JSON", json);
          return json.cart;
        })
        .catch(error => dispatch(fetchCartFailure(error)));
    });
  };
}

И когда я печатаю сеанс на стороне сервера, я получаю это

CARRINHO Session {
  cookie:
   { path: '/',
     _expires: 2019-06-20T03:43:47.325Z,
     originalMaxAge: 60000000,
     httpOnly: true },
  UserID: '',
  userType: 'CF',
  ID_Lingua: 'PT',
  ID_Moeda: 'EUR',
  userName: null,
  token: null,
  categorySelected: null,
  ConsultantType: '1' }

Может ли кто-нибудь помочь в этом?Не могу понять, в чем проблема с браузером, в котором я потерял сеанс ....

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...