2012-08-07 15 views
8

Estoy usando la función vhost en Express with Node para administrar varios subdominios para mi aplicación. La aplicación utiliza la misma sesión secreta y la clave, y creo que he usado los ajustes correctos cookie de la sesión:Sesiones a través de subdominios en Express

cookie: { 
      path  : '/', 
      domain : '.example.com', 
      httpOnly : false, 
      maxAge : 1000*60*60*24*30*12 //one year(ish) 
     } 

fijo una variable de sesión en mi sitio habitual donde el subdominio es por ejemplo indefinido http://example.com así:

req.session.rep_id = rep._id; 
res.redirect('https://' + company.name + '.example.com/'); 

Pero cuando les redirigir a subdomain.example.com la sesión no tiene la rep_id llave en nada. Parece que la sesión se restablece entre subdominios. ¿Cómo puedo evitar esto?

Respuesta

4

Algunos pensamientos:

intente eliminar el período comprendido entre .example.com. Mi idea aquí es que está intentando establecer una cookie de solo subdominio, mientras aún está en el dominio raíz. He leído que las cookies establecidas en example.com estarán disponibles también en todos los subdominios.

Intente no redireccionar al usuario a un subdominio inmediatamente, para verificar primero que la cookie está funcionando en su dominio raíz. Inspeccione los encabezados de respuesta de su servidor, luego vea si su navegador mantuvo la cookie en la próxima solicitud. Solo cuando esté seguro de que esto funciona correctamente navegue hasta el subdominio.

Cuestiones relacionadas