1

我是 node.js 世界的新手。我正在使用 passportjs 库来使用 api 密钥对用户进行身份验证。我想要做的是与 api 密钥一起。我还想检查请求的主机名。

app.post('/api/authenticate', 
  passport.authenticate('localapikey'),//passport module method to authenticate the api key
  function(req, res) {
    console.log('Authenticated');
  });

我不知道passportjs如何调用以下函数。但它肯定会在发布请求到达路径“/api/authenticate”后调用该函数。我还想在下面的函数中访问 req.host。

passport.use(new LocalStrategy(
  function(apikey, done) {
    console.log(req.host);
}

可能吗?对此的任何见解将不胜感激。谢谢你。

4

1 回答 1

2

使用 passReqToCallback 选项。有关详细信息,请参阅本页底部:

您必须像这样更新您的代码:

passport.use(new LocalStrategy({
    passReqToCallback: true
  },
  function(req, apikey, done) {
      console.log(req.host);
  }
));

http://passportjs.org/guide/authorize/

于 2013-08-02T08:27:03.643 回答