2012-08-22 26 views
5

Estoy usando pasaporte.js en una aplicación node.js para que OAuth funcione (¡increíble!), Pero ahora, tengo un problema con una cosa.Passport.js: accediendo al usuario al utilizar la red troncal

Estoy usando backbone.js en el lado del cliente, para crear las vistas (estoy tratando de crear una aplicación SinglePage ...), y la única forma en que estoy pensando en obtener el ID de usuario o algo así en la red troncal está creando primero una entrada oculta en las plantillas de jade y luego pasándola al constructor en mis vistas de la red troncal ... o simplemente asigno el valor a una variable javascript y pasándola al enrutador que administra todas las vistas, y paso para cada vista que lo necesite

¡Creo que no es una buena idea, y podría haber mejores opciones!

¿Cómo lo harías?

Gracias!

Respuesta

0

Todavía no he hecho nada en Backbone, pero ya hay soluciones here, here y here. Siempre que obtenga la identificación de la sesión en algún lugar, puede recuperar la sesión con el cookie -package (cookie se ha subcontratado desde connect-utils):

if(handshakeData.headers.cookie) { 
    c = cookie.parse(handshakeData.headers.cookie); 
    sid = connect.utils.parseSignedCookie(c['connect.sid'], 'keyboard cat'); 
    redis.get('sess:'+sid, function(error, result) { 
    session = JSON.parse(result); 
    handshakeData.uid = session.passport.user; 
    callback(null, true); 
    }); 
Cuestiones relacionadas