不合逻辑的Passport验证方法参数
illogical Passport authenticate method arguments
试着理解https://github.com/jaredhanson/passport/blob/master/lib/middleware/authenticate.js,在第57行。
我不明白为什么护照认证方法有4个参数:
module.exports = function authenticate(passport, name, options, callback){/*code*/}
实际上是这样使用的:
passport.authenticate('local', { successRedirect: '/', failureRedirect: '/login' });
或
passport.authenticate('local', function(req, res));
那么,为什么方法dassim定义中的第一个参数"passport"没有干扰呢?由于策略名称作为第一个参数传递,因此应该将其映射到passport而不是name。
您这里漏了一个中间层:
Authenticator.prototype.authenticate = function(strategy, options, callback) {
return this._framework.authenticate(this, strategy, options, callback);
};
passport
变量是Authenticator
类的一个实例,因此上面的方法表示passport.authenticate()
。正如您所看到的,它将对自身的引用作为第一个参数传递给您所引用的函数(由this._framework.authenticate
引用)。
相关文章:
- 如何确保函数/方法参数为certian类型
- 我怎么能读“;.on()"jQuery中的方法参数
- Javascript 方法参数转义
- 对象属性来自方法参数时未定义
- 在 c# 中将多维 JavaScript 数组绑定为方法参数
- 如何通过javascript获取post()方法参数
- AngularJS$http://.NET Web API-获取400(错误请求)或NULL POST操作方法参数
- _.chain()中的方法参数
- springmvc:如何在没有控制器方法参数的情况下以mvc传递参数
- JSON作为null传递给方法参数
- Javascript,可以在没有 eval 的情况下传递未声明的方法参数
- 单词“in”是什么意思?在文档中的方法参数列表中
- 如何返回对象方法参数
- 实例变量vs方法参数
- 如何传递Json字符串作为javascript方法参数
- 将方法参数/参数传递给方法引用绑定,匿名,命名
- 不合逻辑的Passport验证方法参数
- 调试javascript方法参数
- 如何使用javascript获取方法参数的值
- Javascript在字符串模板中插入方法参数