Javascript 膝关节炎后v2,获取护照对象登录后的用户对象

Javascript 膝关节炎后v2,获取护照对象登录后的用户对象,javascript,node.js,passport.js,koa,passport-local,Javascript,Node.js,Passport.js,Koa,Passport Local,我无法将用户对象获取到passport之后的下一个中间件。验证“本地”{session:false}中间件成功通过 下面是我的代码的样子 在当地战略中 passport.usenew localStrategyusername,密码,done=>{ User.findOne{username},错误,User=>{ ifer{return doneerr} if!user{return doneerr} user.comparePasswordspassword、asyncerr、isMatc

我无法将用户对象获取到passport之后的下一个中间件。验证“本地”{session:false}中间件成功通过

下面是我的代码的样子

在当地战略中

passport.usenew localStrategyusername,密码,done=>{ User.findOne{username},错误,User=>{ ifer{return doneerr} if!user{return doneerr} user.comparePasswordspassword、asyncerr、isMatch=>{ if!isMatch{return donenull,false} donenull,用户; }; }; }; 我已经将它用于passReqToCallback,但我不确定这是否是覆盖请求主体的正确方法,但这正是让这个应用程序现在能够工作的原因

这是我的passport.js文件,这是唯一改变的文件

passport.usenew localStrategy {passReqToCallback:true}, asyncreq,用户名,密码,完成=>{ User.findOne{username},错误,User=>{ ifer{return doneerr} if!user{return doneerr} user.comparePasswordspassword、asyncerr、isMatch=>{ if!isMatch{return donenull,false} req.body=用户; 等待donenull,用户; }; };
};我不认为const res=等待ctx.response;&const req=等待ctx.request;是正确的,因为这期望上下文中的请求和响应对象是尚未执行的承诺,但我认为情况并非如此,是吗?@OvidiuDolha不,不是的,我以正常的方式尝试了,没有等待,但也不起作用。Lemme修复代码。正确的方法是将用户对请求进行searialize和反序列化,请看..@A_uuu_uu;Hello,我想我没有使用序列化/反序列化,因为我使用的是JWTs,而不是会话。但这看起来绝对是正确的方法。谢谢你的评论!