- Passport.jsのセットアップ: まず、Passport.jsをプロジェクトにインストールします。コマンドラインで以下のコマンドを実行します:
npm install passport
また、認証に使用するストラテジー(ローカル、OAuth、OpenIDなど)もインストールする必要があります。例えば、ローカルストラテジーを使用する場合は、以下のコマンドを実行します:
npm install passport-local
- Passport.jsの初期設定: アプリケーションのエントリーポイントであるJavaScriptファイルで、Passport.jsを初期化し、必要な設定を行います。以下は、Express.jsでの例です:
- ルートの保護: 保護したいルートにアクセスする前に、ユーザーが認証されているかどうかを確認する必要があります。以下は、Express.jsでの例です:
app.get('/protected-route', ensureAuthenticated, function(req, res) {
// 認証されたユーザーのみがアクセスできるルートの処理
});
function ensureAuthenticated(req, res, next) {
if (req.isAuthenticated()) {
return next();
}
res.redirect('/login');
}
- ユーザーの認証: ユーザーの認証は、Passport.jsの認証ストラテジーを使用して行います。以下は、ローカルストラテジーを使用する場合の例です:
app.post('/login', passport.authenticate('local', {
successRedirect: '/dashboard',
failureRedirect: '/login',
}));
app.get('/logout', function(req, res) {
req.logout();
res.redirect('/');
});
- ユーザーの認可: ユーザーが特定のリソースや機能にアクセスできるかどうかを決定するために、Passport.jsの認可ミドルウェアを使用します。以下は、特定のロールを持つユーザーのみがアクセスできるルートの例です:
function ensureAdmin(req, res, next) {
if (req.isAuthenticated() && req.user.isAdmin) {
return next();
}
res.redirect('/unauthorized');
}
app.get('/admin-route',ensureAdmin, function(req, res) {
// 管理者のみがアクセスできるルートの処理
});
これらはPassport.jsを使用して認証と認可を実装するための一般的な手順です。ただし、具体的な要件や使用するストラテジーに応じて、さまざまな方法があります。詳細な情報やさらなるコード例については、公式のPassport.jsドキュメントを参照してください。