카테고리 없음
spring&react 협업세션에서의 TIP
sandbackend
2022. 11. 2. 23:18
cors 팁 / 콘솔창 팁
로그를 통해 어디서 막히는지 확인 할수 있는
org.apache.coyote.http11: debug
- 클라이언트에서 어떤 방식이 들어오는지 헤더와 바디를 볼수 있어, 유용함
- 테스트 단계에서만 사용! 로그가 많이 쌓임
CORS 설정 <SecurityConfig 파일>
일단 http쪽에 이 설정 먼저해야 밑에 corsConfigurationSource가 적용된다.
@Bean
public CorsConfigurationSource corsConfigurationSource(){
CorsConfiguration config = new CorsConfiguration();
// 서버에서 응답하는 리소스에 접근 가능한 출처를 명시
config.addAllowedOrigin("http://localhost:3000");
//config.addAllowedOrigin("http://book-quest.s3-website.ap-northeast-2.amazonaws.com");
// 특정 헤더를 클라이언트 측에서 사용할 수 있게 지정
// 만약 지정하지 않는다면, Authorization 헤더 내의 토큰 값을 사용할 수 없음
config.addExposedHeader(TokenProvider.AUTHORIZATION_HEADER);
// 본 요청에 허용할 HTTP method(예비 요청에 대한 응답 헤더에 추가됨)
config.addAllowedMethod("*");
// 본 요청에 허용할 HTTP header(예비 요청에 대한 응답 헤더에 추가됨)
config.addAllowedHeader("*");
// 기본적으로 브라우저에서 인증 관련 정보들을 요청 헤더에 담지 않음
// 이 설정을 통해서 브라우저에서 인증 관련 정보들을 요청 헤더에 담을 수 있도록 해줍니다.
config.setAllowCredentials(true);
// allowCredentials 를 true로 하였을 때,
// allowedOrigin의 값이 * (즉, 모두 허용)이 설정될 수 없도록 검증합니다.
config.validateAllowCredentials();
// 어떤 경로에 이 설정을 적용할 지 명시합니다. (여기서는 전체 경로)
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config);
return source;
}
토큰 없이 동작 할 수 있게 url permit
@Transacion 은 한번만 해주면댐
@ResponseStatus(HttpStatus.CREATED)
-상태
프록시 서버 사용 금지!
프리플라이트, https가 옵션인 경우