@evgeny80

Почему api.ok.ru не присылают Access-Control-Allow-Credentials в заголовке ответа?

С внешнего сайта, после успешной OAuth авторизации в одноклассниках, посылаю запрос в REST API (метод users.getCurrentUser) и получаю ошибку в браузере

XMLHttpRequest cannot load api.ok.ru/fb.do?.....
Response to preflight request doesn't pass access control check: Credentials flag is 'true', but the 'Access-Control-Allow-Credentials' header is ''. It must be 'true' to allow credentials. Origin 'mydomain' is therefore not allowed access.


Response Headers
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Access-Control-Allow-Origin: mydomain
Allow: GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH
Content-Length: 0
Date: Tue, 22 Sep 2015 16:18:09 GMT
Connection: close


Request Headers
...
Access-Control-Request-Headers:accept, access-control-allow-origin
Access-Control-Request-Method:GET
Connection:keep-alive
Host:api.ok.ru
Origin:http://mydomain
...


В документации и интернете ничего не нашел, поэтому обращаюсь к разработчикам или тем кто с этим уже сталкивался, объясните, пожалуйста, что нужно сделать чтобы кросс-доменные запросы к апи отрабатывали нормально?
  • Вопрос задан
  • 848 просмотров
Решения вопроса 1
@evgeny80 Автор вопроса
Проблема решена. Как оказалось запрос нужно было отправить с параметром withCredentials, только установить значение false и не посылать в заголовке никакие значения access-control-allow.

ЗЫ: Видимо это ввели не так давно, потому что неделю назад запросы проходили без этого параметра. В связи с этим снова БОЛЬШОЙ вопрос к разработчикам и документации. Как вы вообще так работаете???
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@GTimer
Судя по всему запрос делается с использованием XMLHttpRequest и с установленным параметром withCredentials=true.

Установка парамертра withCredentials=true - это лишнее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы