Наконец-то я нашел решение!
При загрузке Spring я использую "HandlerInterceptor". Этот перехватчик разрешает только те запросы, которые содержат мой токен в заголовке.
Когда браузер запрашивает у сервера некоторую информацию о cors, браузер отправляет OPTIONS -call на внутренний сервер. Этот вызов опции также был отклонен и, таким образом, не смог получить разрешенные методы / заголовки / происхождение ...
Мой код выглядит следующим образом
if (request.getMethod().equals("OPTIONS")) {
response.setHeader("Access-Control-Allow-Origin", "*");
//I've changed the 'Authorization' header to 'token' (at the end of the following codeline)
response.setHeader("Access-Control-Allow-Headers", "AuthID,Origin,X-Requested-With,Content-Type,Accept,token");
//After that, continue without checking if the request is correct
return true;
} else {
//check if the request-header contains my token...
}
Если вы реализовали загрузку с использованием пружины безопасности вы должны настроить следующий код:
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.cors()
.and()
.authorizeRequests()
.antMatchers("/", "/**").permitAll()
.antMatchers(HttpMethod.OPTIONS, "/**").permitAll()
.anyRequest().authenticated();
http.csrf().disable();
http.headers().frameOptions().disable();
}