1

我为一个客户建立了一个简单的电子商务网站,NodeJS/Express3/MongoDB我对为网站后端实施什么样的身份验证策略有些疑问。

我对此知之甚少,authentication/authorization而且我有点迷茫,所以如果你能帮我清除一下迷雾,我将不胜感激。

只有一个人,所有者将访问它。我过去实现了HTTP 简单身份验证,但据我所知,凭据是以纯文本形式发送的。我需要实现 HTTPS,但我试图避免这种情况。

我虽然OAuth2差不多,但单次登录似乎有点过头了。

也许文摘适合我的需要。只要我知道,它就不会以纯文本形式发送凭据。

我还发现这个库看起来非常好:

http://passportjs.org/

对于这种情况,您有什么建议?

4

2 回答 2

0

我认为带有本地策略的护照就足够了。
使用HTTPS总是好的,在 Node.js 中并不难。

如果您想深入了解,请 阅读Web 应用程序黑客手册。

于 2013-02-18T08:25:48.617 回答
0

我建议使用带有 HTTPS 的 HTTP Basic 或 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);
于 2016-04-22T10:37:59.153 回答