강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

cksdn1013님의 프로필 이미지
cksdn1013

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

패스포트로 로그인하기.

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도 호출하고 세션에 저장하는 추가적인 행위를 의미합니다. 서비스로그인이 사용자가 직접 하는걸 의미했다면 패스포트 로그인은 내부적인 로그인 프로세스를 의마한 겁니다.

cksdn1013님의 프로필 이미지
cksdn1013

작성한 질문수

질문하기