Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/09/2013, 16:37
cmarrero01
 
Fecha de Ingreso: abril-2011
Ubicación: Mendoza
Mensajes: 42
Antigüedad: 11 años, 5 meses
Puntos: 0
Exclamación realizar un request a una pagina protegida por sesion

Tengo el siguiente problema,

Tengo codeigniter y node.js corriendo, y estoy necesitando que node.js me traiga cierta informacion de una pagina determinada de codeigniter, esto es facil haciendo request.get o request.post a la url y listo, el problema radica, en que esa pagina que necesito esta protegida por session...

Vamos desde el principio..

Tengo una pagina protegida por usuer y pass, clasico acceso mediante seteo de sessiones en codeigniter.

Y deseo acceder a esa pagina desde un request.get desde node.s, lo hago con socket.io y request... algo asi

Tengo


Código Javascript:
Ver original
  1. var rst = require('request');
  2. io.sockets.on('connection', onConnection);
  3.  
  4. function onConnection(socket){
  5.  
  6.       socket.on('sendRequest',function(type,url,data){
  7.            var options = {
  8.                   url:url
  9.            };
  10.  
  11.            rst.get(options, function(error, response, body) {
  12.             var result = {content:body,url:options.url};
  13.                   if (!error && response.statusCode === 200) {
  14.                        socket.emit('resultRequest',result);
  15.                 }
  16.            });
  17.       });
  18. }

Podria tener acceso a la cookie de sesion, haciendo algo asi

Código Javascript:
Ver original
  1. io.set('authorization', function (data, accept) {
  2.     // check if there's a cookie header
  3.     if (data.headers.cookie) {
  4.         // if there is, parse the cookie
  5.         data.cookie = cookie.parse(data.headers.cookie);
  6.         // note that you will need to use the same key to grad the
  7.         // session id, as you specified in the Express setup.
  8.         data.sessionID = data.cookie['PHPSESSID'];
  9.     } else {
  10.         // if there isn't, turn down the connection with a message
  11.         // and leave the function.
  12.         return accept('No cookie transmitted.', false);
  13.     }
  14.     // accept the incoming connection
  15.     accept(null, true);
  16. });

Pero no he podido enviarla y que me sea aceptada en el request, la devolucion que me hace es la pagina que deberia mostrarme al estar deslogueado... :(


Algua idea ????
__________________
Claudio A. Marrero - Proyect Manager