Búsqueda de sitios web

angularjs - Tener problemas para establecer una sesión persistente en un entorno de typescript/angular2 y nodejs en el backend


Estoy usando typescript/angular2 en el frontend y nodejs en el backend.

Creo que en realidad no hay ningún problema con el backend en sí. Creo que el problema está en el frontend.

En un componente angular2 creo el siguiente cliente usando '@angular/http'.

this.http
    .post(this.url, to_send)
    .map((res) => this.handleResponse(res) );

La solicitud de inicio de sesión se recibe en el servidor y fijo una variable a la sesión a través de

 req.session.cookie.something = "something";

Sin embargo, cuando hago otra llamada al servidor, en el mismo o en un componente diferente:

this.http
    .post(this.url, ANOTHER_CALL)
    .map((res) => this.handleResponse(res) );

La sesión no existe en el lado del servidor (no hay 'algo'. La sesión no es persistente).

Mi pregunta es: ¿este.http de @angular/http maneja automáticamente las sesiones/cookies en el frontend? ¿Qué me estoy perdiendo?

Realmente creo que el problema no está en el backend porque he diseñado sistemas similares con Node.js antes, pero si alguien cree que podría ser por eso, intentaré y publicaré. Sin embargo, y de nuevo, realmente creo que el problema debe estar aquí.

Respuesta #1

La solución es usar xhr.withCredentials=true en las opciones de la solicitud