npm passport-local-mongoose を使用したユーザー認証の実装


まず、プロジェクトのディレクトリで以下のコマンドを実行し、passport-local-mongoose パッケージをインストールします:

npm install passport-local-mongoose

次に、以下のコード例を使用して、passport-local-mongoose を使ったユーザー認証の実装手順を説明します。

  1. 必要なモジュールをインポートします:
const mongoose = require('mongoose');
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
const passportLocalMongoose = require('passport-local-mongoose');
  1. ユーザーモデルを作成します:
const UserSchema = new mongoose.Schema({
  username: String,
  password: String
});
UserSchema.plugin(passportLocalMongoose);
const User = mongoose.model('User', UserSchema);
  1. passport の設定を行います:
passport.use(new LocalStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
  1. ユーザーの登録とログインのルートを作成します:
app.post('/register', (req, res) => {
  User.register(
    { username: req.body.username },
    req.body.password,
    (err, user) => {
      if (err) {
        console.error(err);
        res.status(500).send('An error occurred');
      } else {
        passport.authenticate('local')(req, res, () => {
          res.send('User registered and logged in');
        });
      }
    }
  );
});
app.post('/login', passport.authenticate('local'), (req, res) => {
  res.send('User logged in');
});

これで、passport-local-mongoose を使用したユーザー認証の実装が完了しました。

この記事では、passport-local-mongoose を使ってユーザー認証を実装する手順をシンプルかつ具体的に説明しました。これにより、ユーザーの登録やログインの機能を簡単に実装することができます。また、この方法は Node.js のバックエンド開発において広く使用されているため、実践的な知識となるでしょう。

以上が、npm passport-local-mongoose を使用したユーザー認証の実装方法についてのブログ投稿です。