2017-01-16 2 views
0

Ich bin mit Sitzungen in Express- und haben es Setup als:Express.js Sitzungen arbeiten nicht über Subdomains

app.use(session({ 
    store: new RedisStore(), 
    secret : '', 
    cookie: { 
    path: '/', 
    domain: '.localdomain.com' 
    }, 
    resave: false, 
    saveUninitialized: false 
})); 

Ich habe dann localdomain.com in meine Gastgeber sowie test.localdomain.com, wenn ich Routen Zugriff über test.localdomain.com Ich bin in der Lage, Sitzungsdaten zu bekommen, aber wenn ich eine AJAX-Anfrage an localdomain.com mache, hat dies nicht die Sitzungen zur Verfügung. Zum Beispiel unter test.localdomain.com, ich werde eine Anfrage machen:

$.get('http://localdomain.com/session') und die Sitzung ist da, aber keiner der Werte, die ich auf Sitzung gesetzt habe, werden zurückgegeben.

Irgendwelche Ideen, wie ich auf Sitzungen zugreifen kann?

Antwort

-1

die Express-Sitzung Quellcode fron es es indexOf scheint verwendet, die nicht eine regex so regex und Array erlaubt sind keine Option,

// pathname mismatch 
var originalPath = parseUrl.original(req).pathname; 
if (originalPath.indexOf(cookieOptions.path || '/') !== 0) return next(); 

IMHO, die beste Option wäre eine eigene Sitzung zu schreiben oder benutze Tokens, hoffe ich habe geholfen. :)

Verwandte Themen