Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feat] CORS 관련 config 파일 작성 #34

Merged
merged 2 commits into from
Jan 8, 2024
Merged

[feat] CORS 관련 config 파일 작성 #34

merged 2 commits into from
Jan 8, 2024

Conversation

hellozo0
Copy link
Member

@hellozo0 hellozo0 commented Jan 7, 2024

관련 이슈번호

해결하는 데 얼마나 걸렸나요? (예상 작업 시간 / 실제 작업 시간)

1h/1h

해결하려는 문제가 무엇인가요?

CORS 에러를 방지하기 위한 설정파일을 작성했습니다.

어떻게 해결했나요?

public void addCorsMappings(final CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("http://localhost:5173", "http://localhost:8080")
                .allowedMethods(HttpMethod.GET.name(), HttpMethod.POST.name(), HttpMethod.PUT.name(), HttpMethod.DELETE.name())
                .allowedHeaders("Authorization", "Content-Type")
                .exposedHeaders("Authorization")
                .allowCredentials(true)
                .maxAge(3000);
    }

.allowedOrigins("http://localhost:5173", "http://localhost:8080")
: 클라이언트의 5173 , 서버테스트 포트인 8080를 열어뒀습니다!


.allowedMethods(HttpMethod.GET.name(), HttpMethod.POST.name(), HttpMethod.PUT.name(), HttpMethod.DELETE.name())
: 저희 개발할때 사용하는 Method만 열어뒀습니다.


.allowedHeaders("Authorization", "Content-Type")
: 클라이언트 측의 CORS 요청에 허용되는 헤더를 지정합니다.


.exposedHeaders("Authorization")
: jwt토큰관련 클라이언트 선생님들이 header에 jwt 토큰 볼 수 있도록 하는 코드 입니다. 해당 링크 참고해서 이 이유때문에 작성했습니다


.allowCredentials(true)
: 클라이언트 측에 대한 응답에 credentials(예: 쿠키, 인증 헤더)를 포함할 수 있는지 여부를 지정합니다.


.maxAge(3000)
: 원하는 시간만큼 pre-flight 리퀘스트를 캐싱 해둘 수 있습니다.

잘 모르겠어요

.allowedHeaders("Authorization", "Content-Type") 부분과 .exposedHeaders("Authorization") 부분은 이전에 사용해본 적이 없어서 우리 프로젝트에 해당 케이스들만 적용하는 것이 맞는건지 궁금합니다!

@hellozo0 hellozo0 added the feat label Jan 7, 2024
@hellozo0 hellozo0 self-assigned this Jan 7, 2024
Copy link
Member

@KWY0218 KWY0218 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

작업하시느라 고생하셨습니다!!

p3:

  1. 무중단 배포를 통해서 8080, 8081 포트를 사용하기 때문에 8081 포트도 열어둬야하지 않을까 생각이 듭니다.

  2. 해당 아티클에서는 access token을 authorization 헤더에 넣어서 access token을 전달했기 때문에 해당 값을 추가한 것 같습니다.
    하지만 저희는 토큰 값을 response body를 통해 넘겨주기 때문에 불필요하다고 생각합니다.

@hellozo0
Copy link
Member Author

hellozo0 commented Jan 7, 2024

  • 포트는 *로 다시 열어뒀습니다!
  • .exposedHeaders("Authorization") 삭제하겠습니다~!

Copy link
Contributor

@pkl0912 pkl0912 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

넵 CORS 설정 파일 확인했습니다!

@hellozo0 hellozo0 merged commit 643604e into develop Jan 8, 2024
1 check passed
@hellozo0 hellozo0 deleted the feat/#27 branch January 8, 2024 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[feat] webconfig 파일 추가
3 participants