2016-06-23 12 views
0

Ich kann nicht für das Leben von mir herauszufinden, warum meine Sitzungen oder Cookies werden nicht über die URL persistierendenNodeJS Sitzungen persistierende nicht in der Produktion

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/Auth express

   //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/auth/Callback **

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

Terminal-Ausgabe

//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' } } } 

Wie kann ich Daten über die 2 Routen bekommen?

Antwort

1

Zuerst verwenden Sie den Standard-Sitzungsspeicher für die Sitzungs-Middleware. Der Standardsitzungsspeicher speichert Ihre Sitzungsinformationen im Speicher und ist nur für Entwicklungs- und Testzwecke geeignet. Wenn Sie mehrere Anwendungsinstanzen und einen Lastenausgleich verwenden (was Sie normalerweise bei der Produktion erwarten), funktioniert der Standardsitzungsspeicher nicht für Sie. Ich empfehle Ihnen, einen anderen Speicher wie connect-redis oder etwas anderes zu verwenden, das Ihre Sitzungsinformationen in einem spezialisierten Geschäft speichert.

+0

Ich fragte mich, ob es etwas damit zu tun hatte, dass die Domäne nicht korrekt war und ob dies die richtige Syntax für das Festlegen der Domäne war. Ich muss zugeben, es ist noch nicht wirklich leben, aber intergration/beta –

+0

Vielleicht @ jamie-hutber. Standardmäßig haben Sie die Domain-Einstellung leer gelassen, es sei denn, Sie haben eine Sitzung für mehrere Sites, die Subdomains derselben gemeinsamen Domain sind (ein Cookie für a.b.com, b.b.com y c.b.com). Wenn die Domain nicht korrekt eingestellt ist, wird das Cookie nicht zurück an den Server gesendet und es ist nicht möglich, die Sitzung zu verfolgen. – yeiniel

Verwandte Themen