我为一个基于NodeJS/Express3/MongoDB的客户构建了一个简单的电子商务站点,我对在站点后端实现什么样的身份验证策略有一些疑问。
我对authentication/authorization知之甚少,也有点迷茫,所以如果你能帮我清除一点雾,我会很感激的。
只有一个人,主人会访问它。我过去实现了HTTP简单身份验证,但据我所知,凭据是以纯文本发送的。我需要实现HTTPS,但我试图避免这种情况。
我想到了OAuth2,但单次登录似乎太过分了。
也许文摘符合我的需要。据我所知,它不会以纯文本的形式发送凭证。
我还发现这个库看起来很好:
http://passportjs.org/对于这种情况,您推荐什么?
发布于 2013-02-18 08:25:48
发布于 2016-04-22 10:37:59
我建议使用HTTPS使用HTTPS或Digest身份验证,您可以使用http-auth模块来实现。
// HTTPS module
var https = require('https');
// File system module.
var fs = require('fs');
// Authentication module.
var auth = require('http-auth');
var basic = auth.basic({
realm: "Simon Area.",
file: __dirname + "/../data/users.htpasswd" // gevorg:gpass, Sarah:testpass ...
});
// HTTPS server options.
var options = {
key: fs.readFileSync(__dirname + "/../data/server.key"),
cert: fs.readFileSync(__dirname + "/../data/server.crt")
};
// Starting server.
https.createServer(basic, options, function (req, res) {
res.end("Welcome to private area - " + req.user + "!");
}).listen(1337);https://stackoverflow.com/questions/14927049
复制相似问题