Saltar al contenido

Cómo resolver el error 403 en la solicitud de publicación de Spring Boot

Solución:

debe deshabilitar la protección csrf porque está habilitada por defecto en Spring Security: aquí puede ver el código que permite el origen de cors.

import org.springframework.context.annotation.Bean;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.CorsConfigurationSource;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter{

    @Override
    protected void configure(HttpSecurity http) throws Exception{
        http.cors().and().csrf().disable();
    }

    @Bean
    CorsConfigurationSource corsConfigurationSource() {
        CorsConfiguration configuration = new CorsConfiguration();
        configuration.setAllowedOrigins(Arrays.asList("*"));
        configuration.setAllowedMethods(Arrays.asList("*"));
        configuration.setAllowedHeaders(Arrays.asList("*"));
        configuration.setAllowCredentials(true);
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", configuration);
        return source;
    }

}

Posibles Causas:

  1. Las solicitudes realizadas desde el cartero son diferentes a la realizada desde el móvil (uri, método, encabezados)
  2. Simbolo no valido
  3. CORS (lea algo al respecto, google está lleno de artículos) agregue la anotación @CrossOrigin a su controlador.

  4. La aplicación móvil está haciendo una solicitud de OPCIÓN antes de realizar la POST y usted bloquea las solicitudes de OPCIÓN. Si también del cartero se bloquean las solicitudes de OPCIÓN, agregue la propiedad spring.mvc.dispatch-options-request = true. Además, en caso de que esté utilizando Spring Security, también debe permitir explícitamente las solicitudes de OPCIÓN.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *