Node.js 膝关节炎认证 我正在使用膝关节炎做简单的注册应用程序,它只用于验证身体JSON。示例建议使用passport.authenticate如下: router.route({ 方法:“post”, 路径:'/signup', 验证:{ 键入:“json”, 正文:{ 用户名:Joi.string().required(), 密码:Joi.string().required() } }, 异步处理程序(ctx,下一个){ const body:{ 用户名:string, 密码:string, }=ctx.request.body; 试一试{ 等待User.createAndSave(body.username、body.password); 返回passport.authenticate('local',异步(错误、用户、信息、状态)=>{ 如果(错误){ ctx抛投(500); }else if(用户){ 等待ctx.登录(用户); }否则{ ctx抛投(400); } })(ctx,下一页); }抓住{ ctx抛投(500); } } }

Node.js 膝关节炎认证 我正在使用膝关节炎做简单的注册应用程序,它只用于验证身体JSON。示例建议使用passport.authenticate如下: router.route({ 方法:“post”, 路径:'/signup', 验证:{ 键入:“json”, 正文:{ 用户名:Joi.string().required(), 密码:Joi.string().required() } }, 异步处理程序(ctx,下一个){ const body:{ 用户名:string, 密码:string, }=ctx.request.body; 试一试{ 等待User.createAndSave(body.username、body.password); 返回passport.authenticate('local',异步(错误、用户、信息、状态)=>{ 如果(错误){ ctx抛投(500); }else if(用户){ 等待ctx.登录(用户); }否则{ ctx抛投(400); } })(ctx,下一页); }抓住{ ctx抛投(500); } } },node.js,passport.js,koa,passport-local,Node.js,Passport.js,Koa,Passport Local,如您所见,我首先将用户输入数据库,然后调用passport。验证,但奇怪的是,不要将用户的用户名或密码传递给它。那么该函数如何知道我希望它查找哪个用户呢?经过一点搜索后,我发现用户名和密码正文字段名设置在passport localpackage.您在该代码中找不到任何用户。这是一个用户注册示例,其中用户名和密码被发送到一个路由,作为请求正文的一部分进行注册。有意义吗?@Shumail但该函数如何知道我如何命名这些字段。例如,它可以是admin\u用户名,而不是用户名。此外第一次调用(user.

如您所见,我首先将用户输入数据库,然后调用passport。验证,但奇怪的是,不要将用户的用户名或密码传递给它。那么该函数如何知道我希望它查找哪个用户呢?

经过一点搜索后,我发现用户名和密码正文字段名设置在
passport local
package.

您在该代码中找不到任何用户。这是一个用户注册示例,其中用户名和密码被发送到一个路由,作为请求正文的一部分进行注册。有意义吗?@Shumail但该函数如何知道我如何命名这些字段。例如,它可以是admin\u用户名,而不是用户名。此外第一次调用(user.createAndSave)完成时,用户在我的数据库中,所以必须在passport.authenticate上进行一些查找,对吗?