inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Node.js 교과서 - 기본부터 프로젝트 실습까지

passport serializeUser/deserializeUser

흐름에 대해서 궁금합니다.

164

D_One

작성한 질문수 92

0

npm start를 하면, 

app.js 에서 

 

app.get('/', indexRouter) 에 걸리잖아요 . 

이것 전에,

app.use(passport.initialize());

app.use(passport.session());

1. 이 두개가 있는데, 로그인을 하지않아서 passport 값이 없기 때문에 그냥 지나치나요?  

_________________________________________

인제 아이디, 비밀번호를 치고 로그인을 하면, 

app.js에서

app.use('/auth', authRouter); 여기에 걸려서, 

 

router/auth.js 에서 

router.post('/login', isNotLoggedIn, (req, res, next) => {
passport.authenticate('local', (authError, user, info) => {
if (authError) {
console.error(authError);
return next(authError);
}
if (!user) {
req.flash('loginError', info.message);
return res.redirect('/');
}
return req.login(user, (loginError) => {
if (loginError) {
console.error(loginError);
return next(loginError);
}
return res.redirect('/');
});
})(req, res, next); // 미들웨어 내의 미들웨어에는 (req, res, next)를 붙입니다.
});
 

 

2.

passport.authenticate('local',   가 locastoragy를 부르신다고 했잖아요. 어떻게 local만 썻는데 연결이 되는지 궁금하네요?

___________________________________________

이 부분이 실행되면, return req.login(user,

module.exports = (passport) => {
passport.serializeUser((user, done) => {
done(null, user.id);
});

serializuSer 가 실행되잖아요

3.

done(null, user.id)가 req.login(user...)의 user를 나타낸건가요? 즉 req.loging(user...) 의 user는 user.id인가요? 

___________________________________________

4.

return res.redirect('/');  이거를 해준 이유는,

다시 재 요청을 받아, 

app.use(passport.initialize());

app.use(passport.session()); 이거를 통해서 deserializeUser를 하기위함인가요?

mongodb javascript mysql nodejs

답변 1

0

제로초(조현영)

1. 미들웨어는 모든 상황에 걸립니다.

2. 내부적으로 처리됩니다. 내부 코드에 local입력시 로컬스트레트지 호출하도록 되어있습니다.

 

3. req.login의 user는 deserialize의 user입니다.

4. 아뇨 메인 페이지 화면 띄워주려고 한 겁니다.

실제 서비스에서도 cluster를 사용하나요?

1

314

2

캐싱에 관하여

0

279

3

salt를 실무에서 사용할때 항상 randomBytes로 만들어줘야 하나요?

0

347

1

게시물 올리기 오류

0

408

1

캐슁 이후 로그인창

0

266

1

kakao passport 질문있습니다.

0

493

3

global객체 공유 질문드립니다.

1

418

1

서버가 죽어버리네요

0

1047

8

포링키 문제..

0

235

2

커넥션 플래시 설치문제

0

216

2

익스프레스 제너레이터? 설치문제

0

2586

6

redis 질문입니다.

0

305

1

9장 세션을 DB에 저장시 리다이렉션 오류 발생

0

874

8

프레임워크 선택에 관하여 질문이 있습니다.

0

300

3

시퀄라이즈 질문입니다 ! !

0

588

1

리뉴얼 강의 12강 socket.io에서 req.session접근 관련 질문

0

922

6

oAuth 질문입니다.

0

356

3

GCP 질문입니다.

0

366

1

Passport 모듈 로그인 구현관련

0

720

6

카카오 로그인 관련 질문입니다!!

0

606

4

스스로 해보기 10-16 nunjuncks 질문있습니다

0

499

5

제로초님 HTTP 완벽가이드 추천해주신거 너무 잘 읽었습니다.

0

317

2

gif채팅방 nunjucks관련 질문입니다!

0

338

3

현영님 몽고db관련 질문입니다.

0

233

3