2012-06-03 5 views
0

Здравствуйте, у меня есть проблема с everyauth: я не знаю, как настроить и получить req.user в маршрутах.Почему я не могу получить req.user в everyauth?

Может ли кто-нибудь помочь мне с настройкой?

Если вы хотите увидеть больше кода, просто скажите мне. Спасибо за посещение

.password 
    // .loginWith('email') 
    .loginWith('login') 
    .getLoginPath('/login') 
    .postLoginPath('/login') 
    .loginView('login.jade') 
    .loginLocals(function (req, res, done) { 
     setTimeout(function() { 
     done(null, { 
      title: 'Async login' 
     }); 
     }, 200); 
    }) 
    .authenticate(function (login, password) { 
     var errors = []; 
     if (!login) errors.push('Missing login'); 
     if (!password) errors.push('Missing password'); 
     if (errors.length) return errors; 

     var user = usersByLogin[login]; 

     if (!user) return ['Login failed']; 
     if (user.password !== password) return ['Login failed']; 
     return user; 
    }) 

код редиректа:

app.get('/home', function(req,res) 
    { 
    if(req.session.auth) 
     { 
     console.log(req.user); //undefined 
     res.send('youre logged in'); 
     } 
    }); 

ответ

0

Вы должны предоставить everyauth способ смотреть свой пользовательский объект из его идентификатора по телефону:

everyauth.everymodule.findUserById(function(userId, callback) { 
    // Look up the user from userId and call callback(err, user) 
    .... 
}); 

Смотрите Доступ к Пользовательский раздел everyauth website.