작성한 질문수
[리뉴얼] React로 NodeBird SNS 만들기
게시글, 댓글 작성하기
작성
·
645
수정됨
0
routes/post.js 게시글 등록 요청시
User객체에 id값을 req.user.id로 설정하려하는데
에러나서 req.user 콘솔 찍어보면 undefined 가 출력됩니다.
passport/index.js 에서 deserializeUser 를 통해 user값이 req.user로 세팅되는걸로 들었는데 반환값이 없네요 ..
passport.deserializeUser()에 console.log 찍어보면 아무것도 출력되는게 없습니다.
답변 1
일단 req.login 하셨나요? passport.authenticate 부분에 있습니다. 그게 serializeUser를 호출해서 세션에 유저 정보를 저장합니다. 이걸 해야 나중에 deserializeUser에서 req.user를 만들어낼 수 있습니다.
네 로그인 할 때 routes/user.js 에서 post('/login' ) 할 때 req.login 작성이 되어있습니다.
serializeUser 안에도 콘솔로그 넣고, deserializeUser 안에도 콘솔 로그 넣어서 어디까지 실행되고 어디는 안 되는지 확인해보세요.
그리고 프론트에서도 axios에 withCredentials: true 하셨나요? 그래야 세션 쿠키가 전달됩니다.
네 로그인 할 때 routes/user.js 에서
post('/login' ) 할 때 req.login 작성이 되어있습니다.