Config 추가.
@Configuration
@RequiredArgsConstructor
public class SecurityConfig extends WebSecurityConfigurerAdapter {
private final CorsProperties corsProperties;
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.cors()
}
/*
* Cors 설정
* */
@Bean
public UrlBasedCorsConfigurationSource corsConfigurationSource() {
UrlBasedCorsConfigurationSource corsConfigSource = new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfig = new CorsConfiguration();
corsConfig.setAllowedHeaders(Arrays.asList(corsProperties.getAllowedHeaders().split(",")));
corsConfig.setAllowedMethods(Arrays.asList(corsProperties.getAllowedMethods().split(",")));
corsConfig.setAllowedOrigins(Arrays.asList(corsProperties.getAllowedOrigins().split(",")));
corsConfig.setAllowCredentials(true);
corsConfig.setMaxAge(corsConfig.getMaxAge());
corsConfigSource.registerCorsConfiguration("/**", corsConfig);
return corsConfigSource;
}
}
apllicaiton.properties 또는 yml
# cors
cors.allowed-origins=http://localhost:3000
cors.allowed-methods=GET,POST,PUT,DELETE,OPTIONS
cors.allowed-headers=authorization,content-type,x-auth-token
cors.max-age=3600
Enable Config.
@SpringBootApplication
@EnableConfigurationProperties({
CorsProperties.class
})
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
이렇게 하면 rest api 서버에서 cors 처리를 해 줄 수 있다.
'개발 > Spring' 카테고리의 다른 글
Spring @RequestParam @RequestBody @ModelAttribute 차이 (0) | 2022.03.20 |
---|---|
Part.1 Spring boot 갯수 제한 이벤트 구현(Redis 이용) Redisson, Transaction, Sync(lock) 유저가 많이 몰릴때. (0) | 2022.03.19 |
Spring boot NHN Cloud api-alimtalk 2.2 사용하기 (0) | 2022.03.19 |
Spring boot s3 이미지 Upload, url 이미지 다운로드하기 (0) | 2022.03.19 |
Spring boot,nuxt(vue) oauth2 security token기반 소셜 로그인(카카오,네이버,구글,페이스북,로컬) (0) | 2022.03.13 |