大家好,我在使用Koa和Koa护照时遇到麻烦,并且在使用Koa护照和LocalStrategy上的变种时遇到问题。首先,我尝试选择进入LocalStrategy,将req传递给身份验证方法(您的函数存储在他们的_.verify变量中)。 LocalStrategy :
中的代码片段if (self._passReqToCallback) {
this._verify(req, username, password, verified);
} else {
this._verify(username, password, verified);
}
不行 - 应用程序只是挂起(如果您没有选择该方法,则不会发生这种情况)。所以我决定搞乱自己的策略,看看事情的发展方向。最后,我开始查看 passport / middleware / authenticate.js ,其中authenticate函数返回一个包含的authenticate函数,其中有一个自调用的尝试函数。
这里(至少在这里)看来是个问题。 尝试访问req变量会显示“内部错误:非法访问”消息。但是,从同一签名访问res和next参数会返回适当的值 - “object”和“function”。
我在这里有点迷失,虽然我可以解决这个问题,但我不愿意。
更新1
koa-passport / lib / framework / koa.js有一个req对象,它通过代理服务器从koa上下文中“嘲笑”,这可能是“非法访问”消息的原因。访问req.path在此点/文件正常工作......