CORS: Ответ на предварительный запрос не проходит проверку контроля доступа: Перенаправление не разрешено для предварительного запроса - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь интегрировать приложение angualar js с пружинной загрузкой бэкэнда, при которой перенаправление не разрешено для предварительного запроса

Это развернуто в openshift, я настроил для включения corsдобавив несколько аннотаций в методе контроллера, который помог мне решить: у запроса нет заголовка «Access-Control-Allow-Origin» во входящем запросе: проблема политики CORS.

    @CrossOrigin(allowedHeaders = "*", origins = "*", exposedHeaders = 
        "Access-Control-Allow-Origin", methods = {
          RequestMethod.POST, RequestMethod.GET, RequestMethod.PUT, 
    RequestMethod.DELETE, RequestMethod.HEAD,
          RequestMethod.OPTIONS, RequestMethod.PATCH, RequestMethod.TRACE })
    @RestController
    public class Controller {

   @Autowired
   Service botService;

   @Autowired
   Environment env;

   @CrossOrigin()
   @RequestMapping(value = "/jwtToken", method = {
                 RequestMethod.POST }, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
   @ResponseStatus(HttpStatus.OK)
   public ResponseEntity<UnifiedService> botConntor(                     
                 @RequestBody UnifiedInput input, HttpServletRequest request) {
          UnifiedBPMService output = botService.processBotRequest(input, request);
          return new ResponseEntity<UnifiedService>(output, HttpStatus.OK);
   }

Ошибка, котораяЯ получаю настоящее угловое приложение:

Доступ к XMLHttpRequest по адресу http: /// chatbot / api / jwtToken из источника http://' заблокирован политикой CORS: Ответ на предпечатную проверкузапрос не проходит проверку контроля доступа: перенаправление не разрешено для предварительного запроса.

Вызов опций возвратил следующий respose:

    Request URL: http://<domain>/chatbot/api/jwtToken
    Request Method: OPTIONS
    Status Code: 302 Found
    Remote Address: 10.235.222.220:80
    Referrer Policy: no-referrer-when-downgrade

1 Ответ

0 голосов
/ 14 июля 2019

Ваш бэкэнд перенаправляет (302) вместо отправки правильного ответа (200) на запрос OPTIONS / preflight. Проверьте свои журналы бэкэнда, чтобы увидеть, почему он перенаправляет. Это может быть что-то вроде безопасности Spring, которая отклоняет запрос OPTIONS и перенаправляет вас на страницу входа.

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