繁体   English   中英

使用HTTP基本身份验证保护API

[英]Securing API Using HTTP Basic Auth

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

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

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

通过HTTP基本身份验证对API进行身份验证。提供您的API密钥作为基本身份验证用户名。您无需提供密码

您可以使用express中的basicAuth中间件来执行http://expressjs.com/api.html#basicAuth 只需将用户名设置为API密钥,将密码设置为''(空字符串,而不是双引号)。

您还可以将http-auth模块用于HTTP Basic / Digest身份验证。

// 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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM