1

大家好,我在使用 Koa 和 Koa 护照时遇到问题,在 LocalStrategy 上使用 Koa 护照和变体时遇到问题。首先,我尝试在 LocalStrategy 中选择将 req 传递给身份验证方法(您的函数存储在他们的 _.verify 变量中)。LocalStrategy中的代码片段:

if (self._passReqToCallback) {
  this._verify(req, username, password, verified);
} else {
  this._verify(username, password, verified);
}

不行 - 应用程序只是挂起(如果您不选择该方法,则不会发生这种情况)。所以然后我决定搞乱我自己的策略,看看事情在哪里。最终,我开始查看passport/middleware/authenticate.js,其中的身份验证函数返回一个包含的身份验证函数,其中有一个自调用的尝试函数。

这里(至少在这里)看起来是个问题。尝试访问 req 变量会给出“内部错误:非法访问”消息。但是,从同一签名访问 res 和 next 参数会返回适当的值 - “object”和“function”。

我在这里有点迷路,虽然我可以解决这个问题,但我宁愿不这样做。


更新 1

koa-passport/lib/framework/koa.js 有一个 req 对象通过代理从 koa 上下文中“模拟”出来,这可能是“非法访问”消息的原因。此时访问 req.path 工作正常/文件...

4

0 回答 0