2022.10.01(토)~10.11(화) 11일 동안의 BearMello 플젝 개발 회고 ✍️
❗️ S3에 이미지 업로드하는 과정에서 발생한 에러 핸들링 과정은 따로 기록하기 ❗️
s3로 업로드하는것도 쉽지가 않다ㅠㅠ 계속 잘 뭐가 안되고, 되는듯 했지만 또 CORS 지옥에 빠졌다,,😵💫 BE 팀원분께 여쭤봐야겠따,,
✋ BE에서 S3 클라이언트 배포 주소도 함께 cors 설정을 해줘야 한닷
1️⃣ s3에 업로드한 사진 삭제하기 → cors 에러남,, → 정책 생성기로 DeleteObject 도 추가해줘야 함.
{
"Version": "2012-10-17",
"Id": "Policy1664856700459",
"Statement": [
{
"Sid": "Stmt1664856696010",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:DeleteObject", // <- here!!
"s3:GetObject"
],
"Resource": "arn:aws:s3:::bear-mello/*"
}
]
}
2️⃣ header에 있는 Authorization 권한 접근 가능하도록 백에서 처리하는 법
[참고자료] react - header의 Authorization받기
Postman으로 로그인쪽 통신 테스트를 해봤을 때 Headers 안에 Token이 숨겨져 있었었는데 res.headers로 막상 콘솔을 찍어보면 Token을 찾을 수가 없어서 로그인쪽 구현할 수가 없었다..
그래서 찾아보니까 BE쪽에서config.addExposedHeader("Authorization");
코드를 따로 추가를 해주면 된다고 해서 이 사실을 BE쪽에 공유했고, 이 방법대로 수정해주셨는데 정말로 해결이 됐다.🙃
BE쪽에서 로그인 기능을 추후에 구현하시는게 좋을 것 같다고 해서 그렇게 진행하게 되었는데, 로그인쪽 없이 다른거 구현하다가 여기에 로그인 기능을 붙여서 관리자용, 고객용 로그인했을 때를 따로 설정을 해주어야 하는 것에서 코드를 은근 많이 변경해야해서 쉽지 않았다..