0

您好,我对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');
      }
  });
4

1 回答 1

0

您需要通过调用为everyauth 提供一种从其ID 查找您的用户对象的方法:

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

请参阅everyauth 网站的访问用户部分。

于 2012-06-04T02:16:10.520 回答