Node.js 检索passport JS的返回消息(错误、用户、信息)
如何获取消息并在我的router.post('/auth')中显示它 我试图通过说console.log(req.message)或console.log(req.session.message)来检索此消息,但我不知道如何获取它。我还尝试了console.log(req.session.passport.message)Node.js 检索passport JS的返回消息(错误、用户、信息),node.js,express,passport.js,Node.js,Express,Passport.js,如何获取消息并在我的router.post('/auth')中显示它 我试图通过说console.log(req.message)或console.log(req.session.message)来检索此消息,但我不知道如何获取它。我还尝试了console.log(req.session.passport.message) 我认为,如果身份验证成功,则不会以任何方式传递第三个参数(在您的情况下总是这样;默认情况下,当身份验证失败时,Passport将返回401,并且您的处理程序根本不会被调用)
我认为,如果身份验证成功,则不会以任何方式传递第三个参数(在您的情况下总是这样;默认情况下,当身份验证失败时,Passport将返回401,并且您的处理程序根本不会被调用) 但是,如果将策略配置为将其传递给验证回调,则可以向
req
添加额外属性:
passport.use(new FacebookTokenStrategy({
clientID: 'HIDDEN',
clientSecret: 'HIDDEN',
passReqToCallback : true,
}, function(req, accessToken, refreshToken, profile, done) {
req.message = 'Your Message Here';
...
}
}))
然后在处理程序中,您也可以通过req.message
访问它
router.post('/auth', passport.authenticate('facebook-token'), function(req, res){
console.log("Verifying");
console.log("HOW TO LOG THAT MESSAGE HERE?");
if(req.isAuthenticated()){
console.log(req.session.passport.user);
}else{
console.log("NOT");
}
});
passport.use(new FacebookTokenStrategy({
clientID: 'HIDDEN',
clientSecret: 'HIDDEN',
passReqToCallback : true,
}, function(req, accessToken, refreshToken, profile, done) {
req.message = 'Your Message Here';
...
}
}))