Node.js/Node.js

Passport-Local Mongoose

jjikky 2021. 2. 23. 18:21
반응형

설치

>> npm install passport-local-mongoose

사용

 

db.js

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const passportLocalMongoose = require('passport-local-mongoose');

const User = new Schema({});

User.plugin(passportLocalMongoose);

module.exports = mongoose.model('User', User);

 

passport.js

import passport from "passport";
import User from "./models/User";

passport.use(User.createStrategy());

passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());

 

  • serialize는 req.session에 뭘 저장할 것인지를 선택하는데, 세션의 용량을 줄이기 위해 보통 user의 id만을 저장한다.
  • deserialize는 위에서 받은 id를 이용해 이용자를 식별하고 그 정보를 req.user 객체에 저장한다.                           >> 로그인 후 재접속시 접속한 이용자가 누구인지 식별한다.

postLogin으로 로그인을 하면  passport.authenticate의 결과로 user를 반환

반응형