为什么我不能在Everyauth得到req.user?

时间:2012-06-03 22:50:44

标签: node.js express everyauth

您好,Everyauth有问题:我不知道如何配置和获取路由中的req.user。

任何人都可以帮我解决一下如何配置?

如果你想看到更多代码,请告诉我。感谢您访问

.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');
      }
  });

1 个答案:

答案 0 :(得分:0)

您需要通过调用:

为Everyauth提供一种从其id中查找用户对象的方法
everyauth.everymodule.findUserById(function(userId, callback) {
    // Look up the user from userId and call callback(err, user)
    ....
});

请参阅everyauth website

的访问用户部分