如何从passportjs发送userdata?

时间:2017-03-24 00:54:40

标签: angularjs node.js passport.js

我使用passportjs进行身份验证。我想将用户(如果已通过身份验证)发送给Angular。所以我的代码:

res.send

我做错了什么?我想将信息发送到angular以登录控制台。我理解会话已创建,但我只想发送($future_value)调试信息。

感谢。

1 个答案:

答案 0 :(得分:1)

您正在使用自定义回调身份验证方法,因此您需要自己处理登录,否则将无法将user对象发送回客户端(AngularJS应用程序)。

passport.js docs开始:

app.get('/login', function(req, res, next) {
  passport.authenticate('local', function(err, user, info) {
    if (err) { return next(err); }
    if (!user) { return res.redirect('/login'); }
    req.logIn(user, function(err) {
      if (err) { return next(err); }
      return res.redirect('/users/' + user.username);
    });
  })(req, res, next);
});
  

在此示例中,请注意从{内部}调用authenticate()   路由处理程序,而不是用作路由中间件。这给了   通过关闭对reqres objects的回调访问。

注意:您必须使用与代码中相同的方法将用户/错误发送到AngularJS客户端,而不是像此示例所示重新定向。