我使用passportjs进行身份验证。我想将用户(如果已通过身份验证)发送给Angular。所以我的代码:
res.send
我做错了什么?我想将信息发送到angular以登录控制台。我理解会话已创建,但我只想发送($future_value
)调试信息。
感谢。
答案 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()
路由处理程序,而不是用作路由中间件。这给了 通过关闭对req
和res objects
的回调访问。
注意:您必须使用与代码中相同的方法将用户/错误发送到AngularJS客户端,而不是像此示例所示重新定向。