- 必要なパッケージをインストールする まず、Node.jsプロジェクトでPassport-Local-Mongooseを使用するために、以下のパッケージをインストールします。
npm install passport passport-local passport-local-mongoose express-session
-
データベースのセットアップ Passport-Local-Mongooseは、MongoDBを使用してユーザーデータを保存します。MongoDBへの接続を設定し、データベースとコレクションを作成してください。
-
ユーザーモデルの作成 Passport-Local-Mongooseを使用するために、ユーザーモデルを作成します。以下のようなコードを使用して、ユーザーモデルを作成できます。
const mongoose = require('mongoose');
const passportLocalMongoose = require('passport-local-mongoose');
const userSchema = new mongoose.Schema({
username: String,
password: String
});
userSchema.plugin(passportLocalMongoose);
module.exports = mongoose.model('User', userSchema);
- Passportの設定 Passportを設定して、Passport-Local-Mongooseを使用したユーザー認証を有効にします。以下のようなコードを使用して、Passportの設定を行います。
const passport = require('passport');
const User = require('./models/user');
// セッションの設定
passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
// ExpressアプリケーションにPassportを初期化するミドルウェアを追加
app.use(passport.initialize());
app.use(passport.session());
- ルートの設定 ユーザー認証を実装するために、ルート(エンドポイント)を設定します。以下のようなコードを使用して、ログイン、ログアウト、新規登録のルートを設定できます。
app.post('/login', passport.authenticate('local'), (req, res) => {
// ログイン成功時の処理
});
app.get('/logout', (req, res) => {
req.logout();
// ログアウト成功時の処理
});
app.post('/register', (req, res) => {
User.register({ username: req.body.username }, req.body.password, (err, user) => {
// 新規登録成功時の処理
});
});
以上の手順を実行すると、Passport-Local-Mongooseを使用したユーザー認証の実装が完了します。これにより、ユーザーの登録、ログイン、ログアウトなどの認証機能を簡単に実装することができます。