0

我正在使用 express.js 构建一个 API

(这是我第一次这样做)

我想使用 url 的标准身份验证部分对请求进行身份验证。我希望请求以 https:// {public-key}:{private-key}@host:port/path 的形式出现

我在任何地方都找不到 url 的 auth 部分。req.url 只是 /path

我发现这个如何在 Express 中获取完整的网址?它说要执行以下操作:

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

但这仅返回 https://host:port/path

任何帮助都会很棒。

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

4

1 回答 1

0

您可以使用express.basicAuth() 中间件获取随 URL 发送的用户名和密码。

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;
}));
于 2013-07-24T18:30:22.667 回答