У меня есть служба весенней загрузки, защищенная весенней защитой, и есть узел js ui, пытающийся получить доступ к этой службе.Вызовы работают нормально в браузере Chrome, но когда пользовательский интерфейс доступен из браузера Safari, я получаю сообщение об ошибке CORS.Failed to load resource: Origin http://checkout-test.com is not allowed by Access-Control-Allow-Origin.
Попытка изменить конфигурацию разрешенных заголовков в фильтре cors безопасности Spring с * на определенный список значений, таких как origin, accept и т. Д.
@Bean
CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.setAllowedOrigins(ImmutableList.of("http://checkout-test.com"));
configuration.setAllowedMethods(ImmutableList.of("GET", "POST", "OPTIONS"));
configuration.setAllowCredentials(true);
configuration.setAllowedHeaders(ImmutableList.of("*"));
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}
http
.cors().and()
.antMatcher("/**")
.authorizeRequests()
.antMatchers(AUTH_WHITELIST)
.permitAll()
.anyRequest()
.authenticated()
.and()
.csrf().disable();