inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

passport.serializeUser에 대해서 질문드립니다.

해결된 질문

502

이승훈

작성한 질문수 49

0

serializeUser함수가 로그인을 수행 할 시 세션에 어떤 데이터를 저장할지 정해주는 메서드라고 하였습니다. 그런데 이 동작을 done(null, user.id)가 수행해주는 것인가요? done(매개변수, 매개변수)은 passport.authenticate 혹은 req.login의 리턴주소 가는것이 아닌가요?? 그리고 로그인 라우터에 (req, res, next)를 붙이는게 기존의 미들웨어를 확장하는 형식이라고 하셨는데 혹시 done()의 실행방식과 관련이 있는건가요?

질문을 요약하면,

1. passport.serializeUser에서 세션의 데이터를 저장하는 방식이 궁금합니다.

2. 로그인라우터에 (req, res, next)가 붙는게 done과 관련이 있는지 궁금합니다.

3. done()이 호출된 지점으로 돌아가는 리턴과 역할이 같은지 궁금합니다.

4 . res.redirect(매개변수)에서 매개변수로 url이 들어가면 그 주소로 이동 되는건 알겠는데

이 메서드가 어떻게 쿠키까지 브라우저로 보내는지 궁금합니다.

mysql nodejs mongodb Sequelize

답변 1

1

제로초(조현영)

1. passport.authenticate로 가는 done은 localStrategy의 done입니다. serializeUser의 done은 done의 두 번째 인수로 넣은 값(보통 유저의 아이디)이 세션에 저장되는 겁니다.

2. 관련 없습니다. (req, res, next)를 붙이는 것은 passport.authenticate 미들웨어를 호출하기 위함입니다.

3. 용어를 정확히 쓰셔야 합니다. done은 리턴이 아니라 콜백함수입니다. 호출한 곳으로 돌아가는 용도가 맞습니다.

0

이승훈

1번 답변에서 하신 말씀이 오로지 passport.serialize((user, done))에서의 done()만이(passport.authenticate를 제외한 done()) done(null, user.id)에서 두 번째 매개변수인 user.is를 세션에 저장한다는 뜻인가요? 그리고 res.redirect(매개변수)에서 매개변수를 url로 주는데 이 외에 다른 매개변수 없이 어떻게 세션 쿠키까지 브라우저로 보내지는지 여쭤봐도될까요?

0

제로초(조현영)

네 user.id가 세션에 저장되는 것이고요. res.redirect(인수)입니다. 매개변수가 아닙니다. 세션쿠키는 req.login을 할 때 내부적으로 세션쿠키가 설정이 됩니다.

0

이승훈

감사합니다!

리눅스 노드 설치시 패키지

0

162

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

907

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2281

2

a[title] 질문드립니다

0

376

1

리뉴얼 강의 및 공부 방법

0

583

1

jwt decode

0

1130

1

node.js 교과서 3판 질문드립니다

0

392

1

passport와 jwt

0

434

1

리뉴얼 강의

0

421

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

355

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

482

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

506

2

nunjucks res.render('error'); 작동을 안합니다.

0

512

1

질문있습니다.

0

348

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3536

1

수업자료는 어디있나요?

0

368

1

질문 있습니디

0

237

1

multer 사용시 file 외 name값은 못받나용?

0

418

1

코드 중복 부분 질문드립니다.

0

299

1

api 만드는 이유 질문드립니다.

0

288

1

Strategy의 done에 대해 질문드립니다.

0

367

1

안녕하세요 fs 권한 관련 질문드립니다

0

451

1

시퀄라이즈 연결질문...

0

500

2

res.setHeader vs res.cookie

0

1789

3