開発者だけが見ることができるように、Heroku で NodeJS アプリケーションを非公開にしようとしています。基本認証のように、それを行う簡単な方法はありますか? (私が見つけ続けている解決策はすべて、Ruby アプリに固有のものです)。
2 に答える
基本認証を利用する場合は、 http-authとPassportの2 つのオプションがあります。http-auth は非常に単純なモジュールであり、Passport は認証の代替手段を備えた強力なモジュールです。どちらのモジュールも、基本コードから Express フレームワーク統合までのコード例を提供します。
私も同じ問題を抱えてる。私はあなたのために働くかもしれない1つの解決策を得ることができましたが、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);
また、多少似たアプローチの関連するスレッドがいくつかあります。