使用express.js获取url的auth部分

时间:2013-07-24 17:48:05

标签: node.js api express

我正在使用express.js构建API

(这是我第一次这样做)

我想通过使用网址的标准身份验证部分来验证请求。我希望请求以https:// {public-key}:{private-key} @host:port / path

进入

我无法在任何地方找到网址的auth部分。 req.url只是/ path

我发现这个How to get the full url in Express?表示要执行以下操作:

req.protocol + "://" + req.get('host') + req.url

但是只返回https:// host:port / path

任何帮助都会很棒。

作为旁注,如果这不是验证API的标准方法,请告诉我们!

1 个答案:

答案 0 :(得分:0)

您可以使用express.basicAuth() middleware获取随网址发送的用户名和密码。

app.get('/',
  express.basicAuth(function(username, password){
      console.log(username);
      console.log(password);
    return (true);
  }), 
  function(req,res){
    ...
  });

或者像传统的app.use时尚

app.use(express.basicAuth(function(user, pass){
  return 'tj' == user & 'wahoo' == pass;
}));