node.js 用の既存のユーザー認証ライブラリはありますか? 特に、ユーザーのパスワード認証 (カスタム バックエンド認証 DB を使用) を実行し、そのユーザーをセッションに関連付けることができるものを探しています。
認証ライブラリを作成する前に、既存のライブラリについて人々が知っているかどうか確認してみようと思いました。Google 検索では明らかなものは見つかりませんでした。
-シュレヤス
ベストアンサー1
Connect または Express の認証フレームワークを探している場合は、Passport を検討する価値があります: https://github.com/jaredhanson/passport
(開示: 私は Passport の開発者です)
私は connect-auth と everyauth の両方を調査した後、Passport を開発しました。どちらも優れたモジュールですが、私のニーズには合いませんでした。もっと軽量で目立たないものが欲しかったのです。
Passport は個別のモジュールに分割されているため、必要なものだけ (必要な場合のみ OAuth) を使用するように選択できます。また、Passport はアプリケーションにルートをマウントしないため、いつどこで認証を行うかを柔軟に決定でき、認証が成功または失敗したときに何が起こるかを制御するフックも使用できます。
たとえば、フォームベース (ユーザー名とパスワード) 認証を設定するための 2 段階のプロセスは次のとおりです。
passport.use(new LocalStrategy(
function(username, password, done) {
// Find the user from your DB (MongoDB, CouchDB, other...)
User.findOne({ username: username, password: password }, function (err, user) {
done(err, user);
});
}
));
app.post('/login',
passport.authenticate('local', { failureRedirect: '/login' }),
function(req, res) {
// Authentication successful. Redirect home.
res.redirect('/');
});
Facebook、Twitter などを介した認証には追加の戦略が利用できます。必要に応じて、カスタム戦略をプラグインできます。