使用HTTP基本身份validation保护API

我正在研究HTTP基本身份validation来保护我的Nodejs API(也使用SSL)。

我想知道是否需要用户名和密码与基本身份validation,因为我只想使用一个秘密的API密钥,将作为用户名。 我读过的资源似乎暗示两者都是必需的,但是Stripe的文档似乎暗示只有一个用户名就足够了:

https://stripe.com/docs/api#authentication

对API进行身份validation通过HTTP基本身份validation提供,提供您的API密钥作为基本的身份validation用户名,您不需要提供密码

您可以使用expressAuth中间件来执行http://expressjs.com/api.html#basicAuth 。 只需将用户名(一个或多个)设置为API密钥并将密码设置为“'(空string,而不是双引号)。

您也可以使用http-auth模块进行HTTP基本/摘要式身份validation。

// Authentication module. var auth = require('http-auth'); var basic = auth.basic({ realm: "Simon Area.", file: __dirname + "/../data/users.htpasswd" // gevorg:gpass, Sarah:testpass ... }); // Creating new HTTP server. http.createServer(basic, function(req, res) { res.end("Welcome to private area - " + req.user + "!"); }).listen(1337);