인프런 커뮤니티 질문&답변
passport로 로그인하기에서 passport로그인 이라는게 무슨 말인가요??
해결된 질문
작성
·
524
0
router.post('/login', (req, res, next) => {
passport.authenticate('local', (err, user, info) => {
// done에서 넣은값들이 순서대로 전달되는곳
if (err) {
console.error(err);
next(err);
}
if (info) {
return res.status(401).send(info.reason);
}
})(req, res, next);
// middleware 확장하는 express의 기법
// (req, res, next)를 붙히면 그냥 함수를 전달하는것과 똑같은 기능을 하게 된다.
return req.login(user, async (loginErr) => {
// 서비스 로그인이 다 끝나면 passport 로그인을 한번 더 하는데 에러발생시 핸들
if (loginErr) {
console.error(loginErr);
return next(loginErr);
}
return res.json();
});
});return req.login(user, async (loginErr) => {여기서 우리 서비스 로그인이 다 끝나면 passport 로그인을 한번 더 한다고 하셧는데 이게 무슨 의미 인가요?? 우리 서비스에서 로그인을 하면 끝 아닌가요?
답변 1
1
제로초(조현영)
지식공유자
req.login을 하여 serializeUser도 호출하고 세션에 저장하는 추가적인 행위를 의미합니다. 서비스로그인이 사용자가 직접 하는걸 의미했다면 패스포트 로그인은 내부적인 로그인 프로세스를 의마한 겁니다.




