【问题标题】:why can't I get req.user in everyauth?为什么我不能在everyauth 中获得req.user?
【发布时间】:2012-06-05 07:18:55
【问题描述】:

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

【问题讨论】:

    标签: node.js express everyauth


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-01-24
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 2015-09-24
      • 1970-01-01
      相关资源
      最近更新 更多