这是我第一次实施身份验证。我在一些meanjs示例项目中遇到过这个问题:
app.get('/auth/facebook', function(req, res, next) {
passport.authenticate('facebook', {
scope: ['email']
})(req, res, next);
});
我混淆的主要原因是(req,res,next)调用 - 我之前没有见过它。究竟是怎么回事?
答案 0 :(得分:2)
1。函数app.get需要两个输入:路径和回调函数。
2。回调函数有三个输入:req,res,next
3。回调函数在其体内调用函数生成器(passport.authenticate)返回一个函数。
4。这个函数发生器或函数工厂本身有两个输入:'facebook'和具有范围属性的对象。
5。最后函数返回来自authenticate本身使用原始req,res和next参数调用。