2016-06-23 2 views
0

я не могу за жизнь мне понять, почему мои сеансы или печенье не сохраняющиеся по URL,Nodejs сессии не сохраняющиеся в производстве

выразить

app.use(session({ 
    secret: 'somethign secrect', 
    resave: true, 
    saveUninitialized: true, 
    cookie: { 
     path: '/', 
     domain: config.cookieDomain, 
     httpOnly: true, 
     secure: false, 
     maxAge: null, 
     cookie: { domain:config.cookieDomain} 
    }, 
    rolling: true 
})); 

URL/авт

   //Store cookies for 1 hour 
       console.info(options.req.session); //output 1 
       options.req.session.HUTBER = 'JAMIE'; 
       console.info(options.req.session); //output 2 

** URL/авт/обратного вызова **

console.info('auth', req.session); //output 3 

выходной терминал

//Output 1 
@40000000576c2d6d061dbe14 Session { 
@40000000576c2d6d061dc1fc cookie: 
@40000000576c2d6d061dc1fc { path: '/', 
@40000000576c2d6d061dc1fc  _expires: null, 
@40000000576c2d6d061dc5e4  originalMaxAge: null, 
@40000000576c2d6d061dc5e4  httpOnly: true, 
@40000000576c2d6d061dc9cc  domain: 'mysite.co.uk', 
@40000000576c2d6d061dc9cc  secure: false, 
@40000000576c2d6d061dcdb4  cookie: { domain: 'mysite.co.uk' } } } 

//Output 2 
@40000000576c2d6d0624e61c Session { 
@40000000576c2d6d0624ea04 cookie: 
@40000000576c2d6d0624ea04 { path: '/', 
@40000000576c2d6d0624edec  _expires: null, 
@40000000576c2d6d0624edec  originalMaxAge: null, 
@40000000576c2d6d0624f1d4  httpOnly: true, 
@40000000576c2d6d0624f1d4  domain: 'mysite.co.uk', 
@40000000576c2d6d0624f5bc  secure: false, 
@40000000576c2d6d0624f5bc  cookie: { domain: 'mysite.co.uk' } }, 
@40000000576c2d6d0624f9a4 HUTBER: 'JAMIE' } 

//Output 3 
@40000000576c2d7c14dfd57c auth Session { 
@40000000576c2d7c14dfdd4c cookie: 
@40000000576c2d7c14dfdd4c { path: '/', 
@40000000576c2d7c14dfe134  _expires: null, 
@40000000576c2d7c14dfe134  originalMaxAge: null, 
@40000000576c2d7c14dfe51c  httpOnly: true, 
@40000000576c2d7c14dfe51c  domain: 'mysite.co.uk', 
@40000000576c2d7c14dfe904  secure: false, 
@40000000576c2d7c14dfecec  cookie: { domain: 'mysite.co.uk' } } } 

Как я могу получить данные по 2 маршрутам?

ответ

1

Сначала вы используете хранилище сеансов по умолчанию для промежуточного программного обеспечения сеанса. Хранилище сеансов по умолчанию хранит вашу информацию о сеансе в памяти и подходит только для целей разработки и тестирования. Если вы используете несколько экземпляров приложений и балансировщик нагрузки (что вы обычно ожидаете от производства), тогда хранилище сеансов по умолчанию не будет работать для вас. Я рекомендую вам использовать другой магазин, например connect-redis, или что-то еще, которое сохраняет информацию о сеансе в специализированном магазине.

+0

Я задавался вопросом, не связано ли это с тем, что домен некорректен, и если это был правильный синтаксис для настройки домена. Я должен признать, что на самом деле он не жив, но intergration/beta –

+0

Возможно, @ jamie-hutber. По умолчанию вы оставили параметр домена пустым, если только вы не имеете дело с сеансом для нескольких сайтов, которые являются поддоменами одних и тех же общих доменов (файл cookie для a.b.com, b.b.com y c.b.com). Кроме того, если домен не установлен правильно, cookie не будет отправлен обратно на сервер, и отслеживать сеанс будет невозможно. – yeiniel