我正在使用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的标准方法,请告诉我们!
答案 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;
}));