passport는 서비스를 사용할 수 있게끔 해주는 여권 같은 역할을 하는 모듈이다. 클라이언트가 서버에 요청할 자격이 있는지 인증할 때에 passport 미들웨어를 사용한다.
module.exports = () => {
passport.serializeUser((user, done) => {
done(null, user.id); //req.session에 사용자 아이디 키값만 저장
});
//바로 deserializeUser로 넘어가서 sql 조회후 req.user 객체를 등록하고 done()을 반환하여 req.login 미들웨어로 다시 되돌아감
passport.deserializeUser((id, done) => {
User.findOne({ where: { id } })
.then(user => done(null, user))
.catch(err => done(err));
});
};
module.exports = () => {} 라는 구조는 화살표 함수 생성 구조