2012-02-09 26 views

Respuesta

48

El usuario (suministrada por la devolución de llamada verificar), se establece como una propiedad de la petición en req.user.

Se puede acceder a todas las propiedades del usuario a través de ese objeto, en su caso req.user.username y req.user.displayName.

Si utiliza Express, y quiere exponer el nombre de usuario como una variable dentro de una plantilla, que se puede hacer cuando la prestación:

app.get('/hello', function(req, res) { 
    res.render('index.jade', { username: req.user.username }); 
}); 
+2

estoy usando el siguiente código para el inicio de sesión: app.post ('/ login', passport.authenticate ('local', {successRedirect: '/', failureRedirect: '/ login'}) ); No puedo acceder al nombre de usuario.req.user en la página '/'. ¿Cómo puedo acceder en esa página? –

+1

¿Está disponible la propiedad 'req.user' en esa página? Si no, parece que el soporte de sesión no está habilitado. Asegúrese de utilizar el middleware 'app.use (pasaporte.sesión())', así como configurar el middleware de sesión Express. Consulte la sección "Middleware" de esta página: http://passportjs.org/guide/configuration.html –

+0

¡Está funcionando, gracias! –

3

He creado un simple ayudante de vista de tener acceso a estado de autenticación y la información

var helpers = {}; 

helpers.auth = function(req, res) { 
    var map = {}; 
    map.isAuthenticated = req.isAuthenticated(); 
    map.user = req.user; 
    return map; 
} 

app.dynamicHelpers(helpers); 

después de hacer que usted será capaz de acess el objeto auth en sus puntos de vista, por ejemplo auth.user.xxxx usuario.

+8

¿Cómo se llama a este ayudante? ¿Y desde dónde lo llamas? Gracias –

Cuestiones relacionadas