패스포트가 헷갈리는데 한가지 질문드립니다.
app.js에서
const passportConfig = require('./passport'); 여기서
passport/index.js를 불러오고
passportConfig()로 module.exports된 것을 가져다 쓰는데
함수를 바로싱행하였으니 돌아가는데
passport.serializeUser((user, done) => {
done(null, user.id);
});
passport.deserializeUser((id, done) => {
User.findOne({ where: { id } })
.then(user => done(null, user))
.catch(err => done(err));
});
local();
함수가 실행되면서 여기서 local도 localStrategy.js에 있는 함수를 loca()이 실행해줍니다.
passport.use(new LocalStrategy({
usernameField: 'email',
passwordField: 'password',
}, async (email, password, done) => {
try {
const exUser = await User.findOne({ where: { email } });
if (exUser) {
const result = await bcrypt.compare(password, exUser.password);
if (result) {
done(null, exUser);
} else {
done(null, false, { message: '비밀번호가 일치하지 않습니다.' });
}
} else {
done(null, false, { message: '가입되지 않은 회원입니다.' });
}
} catch (error) {
console.error(error);
done(error);
}
}));
이부분이 auth에서 passport.authenticate에서 찾아간다고 말씀하셨는데 상단에서 local() 할때 아랫부분이 왜 실행이 않되는지 궁금합니다.
로그인한 상태입니다. 이멘트도 get으로 날아가는데 이멘트도 어디에서 보내는지 궁금합니다.