[ Dev Log ] BiblePark 0330
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
### 오늘 한일
- EC2 배포 완료 (CORS 옵션 에러 해결)
(1)
며칠동안 CORS 옵션 에러라고 생각했던 것이 사실 CORS 옵션과 전혀 상관 없는 이슈였음.
서버의 비동기 처리가 잘못되어 있는 경우, 시간이 오래 걸려 timeout이 생기고 504 에러가 나는데
크롬 등 브라우저에서 해당 (500번대) 에러를 CORS옵션의 미비가 만들어내는 에러라고 임의로 해석해서
콘솔에 계속 CORS옵션 에러가 찍혀있었던 것임.
(2) 로그인, 회원가입 등에서 db를 조회할 때 비동기 처리가 잘못되어 있던 것을 콜백함수로 바로 잡아주고
그 외 CORS옵션은 현재 작성한 그대로 두었을 때 실제로 아무 에러가 생기지 않는 것을 확인할 수 있었음.
(2)
생성된 쿠키 브라우저 저장 (배포 환경에서) 역시 CORS와 무관한 문제였음.
쿠키가 잘 생성되고 응답헤더로 잘 들어오고 있는데, 응답 헤더의 쿠키옵션에 domain을 제한하지 않아
해당 쿠키에 접근할 수 있는 도메인이 test.v-ting.net으로 한정되어 발생한 문제였음.
- 쿠키 전송 방식 회의
res.cookie는 쿠키를 보내주는 기능이 아니라 쿠키를 생성해주는 기능임.
그러나 이 작업만으로도 ajax 통신이 끝나면 생성된 쿠키가 브라우저의 local storage에 자동으로 저장되며,
이후에 해당 브라우저가 ajax 요청을 보낼 때 자동으로 요청헤더에 붙여주게 됨.
때문에 지금까지 쿠키 인증을 사용하면서 클라이언트에서 쿠키를 따로 건드리지 않고
서버에서 생성해주고, 브라우저에서 자동 부착해주는 쿠키를 서버에서 파싱해서 사용하는 방식으로 인증을 진행하였음.
그러나 이 방식에 의문을 가지고 원래 배웠던대로 서버에서 res.cookie를 통해 생성된 쿠키를
응답바디로 클라에 돌려주면, 클라에서 리덕스 혹은 브라우저에 이를 저장해놓았다가
인증이 필요한 순간마다 직접 꺼내와서 요청헤더에 붙이는 것으로 변경하기로 하였음.
- VOTE 응답 페이지 작성 - 응답자용 (html+css only)
- VOTE 생성 후 페이지 작성 (진행중) - 생성자용 (html+css only)
### 첨부자료 (code or screenshot)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.