Как мне избавиться от этой проблемы, заблокированной политикой CORS (с весенней загрузкой Java)? ⇐ JAVA
-
Гость
Как мне избавиться от этой проблемы, заблокированной политикой CORS (с весенней загрузкой Java)?
У меня проблемы с cors в моем Spring Java API, я развернул его для рендеринга, но когда я пытаюсь его использовать, он выдает ошибку CORS, хотя я передал домен из своего внешнего интерфейса в внутренний, чтобы разрешить доступ.< /п> application.properties
cors.origins=${CORS_ORIGINS:https://ds-commerce-v1.netlify.app} ошибка: (ds-commerce-v1.netlify.app/:1 Доступ к XMLHttpRequest по адресу «https://api-dsecommerce.onrender.com/pr ... &sort=name» из источника «https://ds» -commerce-v1.netlify.app» заблокировано политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».*
Я передал переменные среды при развертывании внешнего интерфейса, чтобы они соответствовали моему адресу API, но кажется, что что-то не так, и он не принимает запрос по этому адресу внешнего интерфейса.
Это код для CORS в моем API, но я не знаю, в чем проблема
@Configuration @EnableResourceServer @EnableGlobalMethodSecurity (prePostEnabled = true) публичный класс ResourceServerConfig расширяет ResourceServerConfigurerAdapter { @Value("${cors.origins}") частная строка corsOrigins; @Autowired частная среда; @Autowired частный JwtTokenStore tokenStore; @Override public void configure (ресурсы ResourceServerSecurityConfigurer) выдает исключение { resources.tokenStore(tokenStore); } @Override public void configure(HttpSecurity http) выдает исключение { // H2 if (Arrays.asList(env.getActiveProfiles()).contains("test")) { http.headers().frameOptions().disable(); } http.authorizeRequests().anyRequest().permitAll(); http.cors().configurationSource(corsConfigurationSource()); } @Бин CorsConfigurationSource corsConfigurationSource() { String[] origins = corsOrigins.split(","); CorsConfiguration corsConfig = новый CorsConfiguration (); corsConfig.setAllowedOriginPatterns(Arrays.asList(origins)); corsConfig.setAllowedMethods(Arrays.asList("POST", "GET", "PUT", "DELETE", "PATCH")); corsConfig.setAllowCredentials(истина); corsConfig.setAllowedHeaders(Arrays.asList("Авторизация", "Content-Type")); Источник UrlBasedCorsConfigurationSource = новый UrlBasedCorsConfigurationSource (); source.registerCorsConfiguration("/**", corsConfig); источник возврата; } @Бин FilterRegistrationBean corsFilter() { Компонент FilterRegistrationBean = новый FilterRegistrationBean(новый CorsFilter(corsConfigurationSource())); bean.setOrder(Ordered.HIGHEST_PRECEDENCE); вернуть боб; } }
У меня проблемы с cors в моем Spring Java API, я развернул его для рендеринга, но когда я пытаюсь его использовать, он выдает ошибку CORS, хотя я передал домен из своего внешнего интерфейса в внутренний, чтобы разрешить доступ.< /п> application.properties
cors.origins=${CORS_ORIGINS:https://ds-commerce-v1.netlify.app} ошибка: (ds-commerce-v1.netlify.app/:1 Доступ к XMLHttpRequest по адресу «https://api-dsecommerce.onrender.com/pr ... &sort=name» из источника «https://ds» -commerce-v1.netlify.app» заблокировано политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».*
Я передал переменные среды при развертывании внешнего интерфейса, чтобы они соответствовали моему адресу API, но кажется, что что-то не так, и он не принимает запрос по этому адресу внешнего интерфейса.
Это код для CORS в моем API, но я не знаю, в чем проблема
@Configuration @EnableResourceServer @EnableGlobalMethodSecurity (prePostEnabled = true) публичный класс ResourceServerConfig расширяет ResourceServerConfigurerAdapter { @Value("${cors.origins}") частная строка corsOrigins; @Autowired частная среда; @Autowired частный JwtTokenStore tokenStore; @Override public void configure (ресурсы ResourceServerSecurityConfigurer) выдает исключение { resources.tokenStore(tokenStore); } @Override public void configure(HttpSecurity http) выдает исключение { // H2 if (Arrays.asList(env.getActiveProfiles()).contains("test")) { http.headers().frameOptions().disable(); } http.authorizeRequests().anyRequest().permitAll(); http.cors().configurationSource(corsConfigurationSource()); } @Бин CorsConfigurationSource corsConfigurationSource() { String[] origins = corsOrigins.split(","); CorsConfiguration corsConfig = новый CorsConfiguration (); corsConfig.setAllowedOriginPatterns(Arrays.asList(origins)); corsConfig.setAllowedMethods(Arrays.asList("POST", "GET", "PUT", "DELETE", "PATCH")); corsConfig.setAllowCredentials(истина); corsConfig.setAllowedHeaders(Arrays.asList("Авторизация", "Content-Type")); Источник UrlBasedCorsConfigurationSource = новый UrlBasedCorsConfigurationSource (); source.registerCorsConfiguration("/**", corsConfig); источник возврата; } @Бин FilterRegistrationBean corsFilter() { Компонент FilterRegistrationBean = новый FilterRegistrationBean(новый CorsFilter(corsConfigurationSource())); bean.setOrder(Ordered.HIGHEST_PRECEDENCE); вернуть боб; } }
Мобильная версия