我有这个功能,我试图调试,因为我收到一个错误。我已经修复了这个问题,因为我找到了一个有类似问题的人,但是能够控制日志JwtStrategy中的一个参数会真的有帮助,让我更好地了解传递的内容。即使其他人能够使用Postman及其源代码,我仍然无法安慰它。
所以我在后面运行mongod和nodemon。我就是这个功能。
Model.update_all("column_name = (column_name + '1 DAY'::INTERVAL)")
如你所见,我有一个console.log(jwt_payload); 这就是我投入邮差的原因 发布方法,http://localhost:3000/users/authenticate,正文:
module.exports = function(passport){
let opts = {}; //options is an object literal containing options to control how token is extracted.
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderWithScheme("jwt")
opts.secretOrKey = config.secret; //string containing the secret or pem encoded public key verifying the tokens signiture
passport.use(new JwtStrategy(opts, (jwt_payload,done)=>{
console.log(jwt_payload);
User.getUserById(jwt_payload._doc._id, (err, user)=>{
if(err){
return done(err,false);
}
if(user){
return done(null, user);
}else{
return done(null,done);
}
});
}));
}
正如我上面所说,它正在工作并返回我想要的正确JSON。唯一的问题是这个jwt_payload不是终端中的控制台登录,所以我可以看到它通过。我在终端有这个。
{
"username":"bobdylan",
"password":"123456"
}
所以" yay我连接"是app.js中的console.log。为什么这个打印而不是我的console.log上面?我想有这种能力用于未来的调试问题。
这是附加代码,显示它实际上正在运行,但控制台日志不起作用
Server started on port 3000
yay i am connected to databasemongodb://localhost:27017/authapp
这就是请求后的响应。
答案 0 :(得分:3)
对于在console.log
中console.info
,Postman
等的输出中挣扎的任何人
您可以在菜单View >> Show Postman Console
上查看邮递员控制台
不在菜单上查看>>开发人员>>显示DevTools
答案 1 :(得分:0)
将user.toJSON()更改为{data:user}。最后,它开始打印到控制台,发现有效负载是通过一个名为data的对象进入的。因为这个我把jwt_payload.data._id而不是我上面的东西。我认为npm文档随更新而改变。我有另一个使用护照的Mean应用程序,我之前使用过jwt_payload._doc._id。我也不认为我必须放{data:user}。我想在我之前有用户之前。我很惊讶注册和身份验证使用user.toJSON(),但没有使用转到配置文件页面。我真的要放弃但幸好我一次又一次地尝试过。
答案 2 :(得分:0)
将opts.jwtFromRequest = ExtractJwt.fromAuthHeaderWithScheme("jwt")
更改为
opts.jwtFromRequest = ExtractJwt.fromAuthHeaderWithScheme('JWT')
JWT在首都