Passport身份验证中的独特模式

时间:2015-10-20 23:40:22

标签: javascript authentication passport.js

这是我第一次实施身份验证。我在一些meanjs示例项目中遇到过这个问题:

app.get('/auth/facebook', function(req, res, next) {
      passport.authenticate('facebook', {
        scope: ['email']
      })(req, res, next);
    });

我混淆的主要原因是(req,res,next)调用 - 我之前没有见过它。究竟是怎么回事?

1 个答案:

答案 0 :(得分:2)

1。函数app.get需要两个输入:路径和回调函数。
2。回调函数有三个输入:req,res,next 3。回调函数在其体内调用函数生成器(passport.authenticate)返回一个函数。
4。这个函数发生器或函数工厂本身有两个输入:'facebook'和具有范围属性的对象。
5。最后函数返回来自authenticate本身使用原始req,res和next参数调用。