Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何处理函数的第三个参数;“完成”;在passport.js中?_Node.js_Passport.js_Passport Local - Fatal编程技术网

Node.js 如何处理函数的第三个参数;“完成”;在passport.js中?

Node.js 如何处理函数的第三个参数;“完成”;在passport.js中?,node.js,passport.js,passport-local,Node.js,Passport.js,Passport Local,我看到了示例代码,我们可以为passport的done函数传递第三个参数 代码: 在本例中,他们正在传递{消息:“用户名不正确”。} 我的问题是如何处理第三个参数 编辑: 这是我的路线代码: app.post('/login', passport.authenticate('local', { failureRedirect: '/login' }), function(req, res) { res.redirect('/'); }); 我想知道如何使用从passpor

我看到了示例代码,我们可以为passport的done函数传递第三个参数

代码:

在本例中,他们正在传递{消息:“用户名不正确”。}

我的问题是如何处理第三个参数

编辑: 这是我的路线代码:

app.post('/login', 
  passport.authenticate('local', { failureRedirect: '/login' }),
  function(req, res) {
    res.redirect('/');
  });
我想知道如何使用从passport发送的消息,如

res.render('myjade', {'message': **THAT MESSAGE**})
文档中类似的内容:

重定向通常与flash消息相结合,以便向用户显示状态信息

如果将failureFlash选项设置为true,则指示Passport使用策略的verify回调(如果有)给出的消息来闪烁错误消息

注意:使用flash消息需要一个req.flash()函数。Express 2.x提供了此功能,但它已从Express 3.x中删除。在使用Express 3.x时,建议使用connect flash中间件来提供此功能

因此,请将您的呼叫修改为进行身份验证:

passport.authenticate('local', {
  failureRedirect: '/login',
  failureFlash: true
}),

然后使用
connectflash
中间件或定义您自己的中间件来提供
req.flash()
功能。

如何处理?
passport.authenticate('local', {
  failureRedirect: '/login',
  failureFlash: true
}),