проблемы с угловым прокси - PullRequest
0 голосов
/ 14 ноября 2018

Привет всем, у меня есть некоторые проблемы с моим угловым клиентом. всякий раз, когда я делаю почтовый запрос к своему весеннему бэкэнду, используя прокси, как это ...

{
   "/api": { 
      "target": "http://localhost:3000", 
      "secure": false, 
      "changeOrigin": true,
      "pathRewrite": {
          "^/api": "" 
       }
   }
}

Если я установил changeOrigin в False, то он работает на бэкэнде, как и ожидалось. Логин работает хорошо. Единственное, что странно - это ответ в угловом клиенте. Вместо того, чтобы получать исходный ответ от внутреннего сервера, я получаю содержимое моего файла index.html моего углового приложения. Ответ в httpClient.post.subscribe (...) - это просто содержимое файла Index.html.

Затем я попытался установить для changeOrigin значение true. Но тогда больше ничего не работает. Я получаю ошибку cors, и мой Spring Backend отклоняет запрос. Почему так? Я думал, что когда я хочу отключить cors на бэкэнде, тогда стоит использовать прокси. По крайней мере, когда дело доходит до настройки среды разработки.

На внутренней стороне моя пружинная защита выглядит так:

@Override
public void configure(HttpSecurity http) throws Exception {
    http.csrf().disable().exceptionHandling()
            .authenticationEntryPoint(
                    (request, response, authException) -> response.sendError(HttpServletResponse.SC_UNAUTHORIZED)
            )
            .and().authorizeRequests()
            .antMatchers("/login", "/authorize").permitAll()
            .anyRequest().authenticated()
            .and().formLogin().permitAll();//.and().httpBasic();

}

В моем браузере клиент показывает мне следующее сообщение об ошибке:

errormessage

1 Ответ

0 голосов
/ 22 декабря 2018

, чтобы решить мою проблему, я активировал токены перекрестного происхождения на стороне сервера.

@Override
public void configure(HttpSecurity http) throws Exception {
    http.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
}

Я думал, что в этом нет необходимости, если я использую прокси.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...