강의

멘토링

커뮤니티

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

선종원님의 프로필 이미지
선종원

작성한 질문수

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

cors 질문

작성

·

377

0

저번에 nginx는 결국 포기하고 말았습니다... 별짓해도 안되더군요

개인 프로젝트 만들던거 백엔드 추가해서 진행하고 있습니다. (프론트는 TS, 백엔드는 잘 몰라서 JS)

둘다 로컬로 진행하고 있고

로그인쪽에서 cors 에러나서 질문드립니다. (passport는 사용안합니다)

cors 설정을 어떻게 바꿔줘야하나요? 추가 정보필요하시면 바로 올려드리겠습니다

답변 6

0

선종원님의 프로필 이미지
선종원
질문자

동영상 여러 번 다시 돌려보고 여러 번 수정하니 로그인, 로그아웃, 새로고침하면 로그인 유지 기능까지 다 구현됐습니다.

감사합니다

0

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

로그인을 하고 새로고침을 해보세요. 로그인이 풀린다면 애초에 로그인부터 문제가 있는 것입니다. 프론트랑 백엔드 쿠키 공유가 안돼서 그럴 가능성이 높습니다. cors 적용하신 것은 보았습니다. 새로고침 시 로그인 유지 여부를 알려주세요. 또한 로그아웃 시 request header에 쿠키가 들어있는지도 확인해주세요.(saga의 axios에서도 withCredentials가 적용되어 있죠?)

0

선종원님의 프로필 이미지
선종원
질문자

로그아웃하면 401에러가 생겨서 혼자서 해결해보려했으나 정 안되서 질문드립니다.

미들웨어 isLogin을 남기면 401에러가 생기고

미들웨어를 없애면 200 성공 그대로 뜹니다.

그렇다고 미들웨어를 없애자니 마음에 걸려서요

network나 redux 개발자도구에서도 보면 로그인이 필요합니다 문구가 뜨는데 문제를 어디서 찾아야할까요?

req.user도 찍어보면 undefined라고 나옵니다.

로그인하면은 createdAt, updatedAt 아이디 이런것도 제대로 잘 받아서 redux에 뜹니다

0

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

네트워크 탭에서도 요청에 데이터 제대로 들어있는지 확인해보세요. req.body가 empty라면 데이터 보내는 프론트 쪽의 코드 문제입니다.

0

선종원님의 프로필 이미지
선종원
질문자

app.js

라우터들은 스크린샷 밑부분에 있어요 중간에 다른 라우터로 걸리는 부분은 없습니다

express.json() / express.url~~ 이부분넣어줬습니다

saga에서 데이터를 보내고 나서 (saga에서 console.log하면 데이터는 제대로 있어요)

막상 서버에서 console.log(req.body)하면 {}로만 찍히는데 왜 그런건가요?

0

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

credentials도 true로 바꿔주세요. 쿠키가 전송됩니다.

선종원님의 프로필 이미지
선종원

작성한 질문수

질문하기