0

I want to send http request from Ruby code with these values:

http://some_domain.com?key=value&t5052&key=value&key=value

I have this Spring configuration:

@PostMapping(consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, value = "/v1/notification")
  public ResponseEntity<String> handleNotifications(@RequestBody MultiValueMap<String, Object> keyValuePairs) {
     .....
    return new ResponseEntity<>(HttpStatus.OK);
  }

Spring convert config:

    @Override
    public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.removeIf(converter -> converter instanceof MappingJackson2XmlHttpMessageConverter);
        converters.removeIf(converter -> converter instanceof MappingJackson2HttpMessageConverter);
        converters.add(new MappingJackson2XmlHttpMessageConverter(
                ((XmlMapper) createObjectMapper(Jackson2ObjectMapperBuilder.xml()))
                        .enable(ToXmlGenerator.Feature.WRITE_XML_DECLARATION)));
        converters.add(new MappingJackson2HttpMessageConverter(createObjectMapper(Jackson2ObjectMapperBuilder.json())));
    }

But I get error:

<h1>Forbidden <span>(403)</span></h1>
  <p>CSRF verification failed. Request aborted.</p>    
  <p>You are seeing this message because this site requires a CSRF cookie when submitting forms. This cookie is required for security reasons, to ensure that your browser is not being hijacked by third parties.</p>
  <p>If you have configured your browser to disable cookies, please re-enable them, at least for this site, or for &#39;same-origin&#39; requests.</p>

Do you know how I can fix this issue? Can I somehow disable this CSRF check in spring?

Peter Penzov
  • 1,126
  • 134
  • 430
  • 808
  • 2
    Possible duplicate of [Spring Security 3.2 CSRF disable for specific URLs](https://stackoverflow.com/questions/22524470/spring-security-3-2-csrf-disable-for-specific-urls) – Leonardo Meinerz Ramos Jun 25 '19 at 20:04

1 Answers1

0

You can disable CSRF by creating a configuration like this:

@Configuration
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

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