我正在尝试将 Heroku 上的 NodeJS 应用程序设为私有,以便只有开发人员才能看到它。有没有一种简单的方法可以做到这一点,比如基本身份验证?(我一直在寻找的所有解决方案都特定于 Ruby 应用程序)。
问问题
4049 次
2 回答
2
我也有同样的问题。我设法获得了一种可能对您有用但不适合我的解决方案,因为它似乎干扰了来自 angular-fullstack 的内置用户登录。
我只是想要一种快速的密码保护应用程序的方法,这样只有开发人员和利益相关者才能看到它。https://www.npmjs.org/package/http-auth似乎可以解决问题。
这涉及将 http-auth 添加到您的项目(npm install http-auth --save)。然后,您需要找到定义 createServer 的文件和那里的代码。
如果您使用的是 Express,您可以执行以下操作
// HTTP Authentication
var preAuth = require('http-auth');
var basic = preAuth.basic({
realm: "Restricted Access! Please login to proceed"
}, function (username, password, callback) {
callback( (username === "user" && password === "password"));
}
);
// Setup server
var app = express();
app.use(preAuth.connect(basic));
var server = require('http').createServer(app);
如果没有,那么您可以尝试 http-auth 文档中的选项之一,例如
// Authentication module.
var auth = require('http-auth');
var basic = auth.basic({
realm: "Simon Area."
}, function (username, password, callback) { // Custom authentication method.
callback(username === "Tina" && password === "Bullock");
}
);
// Creating new HTTP server.
http.createServer(basic, function(req, res) {
res.end("Welcome to private area - " + req.user + "!");
}).listen(1337);
这里还有一些相关的线程,它们的方法有些相似。
于 2014-11-14T03:52:55.273 回答