작성
·
204
1
안녕하세요 강사님!! 덕분에 제가 AWS S3로 react를 빌드해서 배포하고 heroku로 nodejs를 배포했는데요~!~
제일 중요한 로그인 기능이 좀 이상합니다 ㅠㅠ
배포 전까지는 dev환경에서는 잘되던 기능이 배포 후에는 dev환경과 production환경 둘 다
로그인을 해도 바로 풀립니다...
1. 로그인 관련해서 boiler-plate-mern-stack 소스코드를 건드린적이 없습니다!
2. localstorage에는 user id가 잘 들어갑니다!
3. 쿠키에는 아무런 정보가 안들어갑니다!
4. 구글링 후에 찾은 persist-redux 모듈을 사용해봐도 똑같습니다...
5. mongodb에 토큰을 초기화하고 다시 로그인을 해도 똑같습니다...
6. S3배포 후 cloudfront로 https프로토콜 설정했습니다
7. S3 배포 전에 강사님 유튜브 보고 EC2와 heroku로 배포했을 때도 똑같은 기능 먹통이 발생했습니다..
8. heroku에 환경변수 MONGO_URL 잘 넣어서 렌딩 과정은 잘 됩니다!
9. 회원가입 기능도 잘 됩니다!
10. 로그인 유지가 안됩니다 ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ
11. github에서 새로 commit한 clone 다운받아서 dev.js 다른 table로 설정해주고 했을 때는 이상없습니다..
*배포 사이트 로그인 후 쿠키
* clone한 npm run dev로 들어가서 로그인 후 쿠키
12. 그래서 배포 한 몽고 table도 바꿔줬는데도 로그인 유지가 안됩니다 ㅠ
13. redux extention에도 success와 userid가 나오지만 또 풀리면서 이렇게 됩니다..
강사님 ㅜㅜㅜ 배포만 현재 5일째 매달리고 있습니다 ㅜㅜㅜ살려주세요..
답변 1
0
저도 같은 문제를 겪고 있는데요. 원인은 서버 쪽에서 설정한 쿠키가 react를 s3에 배포한 경우에만 브라우저의 쿠키로 설정되지 않아서 생기는 문제입니다. 그래서, token을 response에 담아서 클라에서 받은 다음에, 해당 token으로 클라이언트에서 직접 cookie 설정하는 방법으로도 해봤는데, 그렇게 해도 서버에 쿠키를 가지고 api access ( withCredentials : true 를 설정해도)가 되지 않고 있네요. 리액트를 노드와 마찬가지로 ec2에 올려서 해야 할까요?
답이 없으셔서 전 ec2로 했더니 배포 성공했어요 ec2로 갈아타세요~!! 조금 힘든데 할만합니다