Вот моя проблема.
Я создаю приложение Angular 5.
Это приложение взаимодействует с API, которым я также управляю.
На стороне API работает PHP с Slim Framework v3.
Все выглядит хорошо. Процесс аутентификации работает, и я получаю токен JWT, как и ожидалось.
Когда я пытаюсь вызвать API с помощью токена, используя Postman, он работает также как с OPTIONS, так и с GET … И в Postman я получаю ожидаемый ответ.
Но … Когда я пытаюсь получить доступ к тому же маршруту (точно так же) через мой угловой сервис, он выдает ошибку 401 во время проверки перед полетом … Позвольте мне сказать вам, что эти вещи CORS — настоящая боль … Я За последние два дня я прочитал большинство уроков или постов … Никакой радости …
Вот мой Apache (2.4.29) .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [qsappend,last]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
Header add Access-Control-Allow-Origin "*"Header add Access-Control-Allow-Methods:
"GET,POST,OPTIONS,DELETE,PUT"Header add Access-Control-Allow-Headers: "Content-Type, Authorization, authorization"</IfModule>
Я использую (как было сказано ранее) PHP 7.2.2 с SLIM Framework v3
Итак, мой вопрос: почему предварительная проверка не прошла, если она работает в Postman с методами OPIONS и GET?
Еще раз спасибо за вашу драгоценную помощь.
Задача ещё не решена.
Других решений пока нет …