まず、プロジェクトのディレクトリで以下のコマンドを実行し、passport-local-mongoose パッケージをインストールします:
npm install passport-local-mongoose
次に、以下のコード例を使用して、passport-local-mongoose を使ったユーザー認証の実装手順を説明します。
- 必要なモジュールをインポートします:
const mongoose = require('mongoose');
const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
const passportLocalMongoose = require('passport-local-mongoose');
- ユーザーモデルを作成します:
const UserSchema = new mongoose.Schema({
username: String,
password: String
});
UserSchema.plugin(passportLocalMongoose);
const User = mongoose.model('User', UserSchema);
- passport の設定を行います:
passport.use(new LocalStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
- ユーザーの登録とログインのルートを作成します:
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 を使用したユーザー認証の実装方法についてのブログ投稿です。