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

hi-ster님의 프로필 이미지
hi-ster

작성한 질문수

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

패스포트 사용하기

혹시 github 보는법좀 알 수 있을까요

작성

·

147

0

passport 안에 내용이 더 많은거 같아서 github로 보고싶은데
 
https://github1s.com/jaredhanson/passport/
 
여기서 어떤식으로 봐야하는지 뭐부터 봐야하는지 감이 안잡히는데
 
어떤식으로 따라가면서 보는건지 알 수 답변주시면 감사합니다.
 
그리고 passport.serializeUser((user,done)=>{
done(null,user.id)
});
여기서 done할때 userid를 저장한다고 하는데 connect.sid의 값도 여기서 자동으로 생성해서 id값 들어가면서 들어가는건가요??
 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

위에 검색기능에서 serializeUser 검색해서 나오는 코드부터 찾아서 보시면 됩니다. connect.sid는 express-session에서 만듭니다.

hi-ster님의 프로필 이미지
hi-ster
질문자

express-session은

app.use(session({
  resave: false,
  saveUninitialized: false,
  secret: process.env.COOKIE_SECRET,
  cookie: {
    httpOnly: true,
    secure: false,
  },

}));

했을떄 connect.sid의값은 이미 만들어지고 

seq.session 에 값이 들어갔을때 자동으로 쿠키가 들어가는데 그런역활을 하는것인가요?? 

그럼 예를들면 seq.login에서 세션쿠키를 구워준다고 하였는데

여기에 그럼 seq.session.id = user.id  이런식으로 숨어있는건가요??

session.id의 값이 들어가니 자동으로 sid값이 들어가는식으로요

 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

말씀하신 게 이해가 잘 안 됩니다. req.login을 하면 serializeUser를 호출해서 세션에 user id가 들어가게 되고 세션에는 원래 고유한 아이디(req.session.id)가 따로 부여되고요. express-session은 세션이있으니 connect.sid라는 세션쿠키를 만들어 브라우저로 보내는 겁니다.

hi-ster님의 프로필 이미지
hi-ster
질문자

답변 감사합니다. 하나씩 찍어보면서 다시봐봐야겠ㄴ요

hi-ster님의 프로필 이미지
hi-ster

작성한 질문수

질문하기