2016-03-23 5 views
1

Я пытаюсь войти в платформу с использованием REST API. Платформа Doc о проверке подлинности API REST говорит, что при аутентификации после публикации учетных данных сообщение будет возвращено session cookie чтобы отправить обратно на все последующие аутентифицированные запросы. Проблема в том, что я использую кросс-домен, который не позволяет мне получить доступ к заголовку Set-cookie или к заголовку cookie. Я пробовал много вещей, которые я видел на форумах. Это фактическая конфигурация сервера:Невозможно получить доступ к заголовку ответа Set-cookie и/или заголовку файла cookie

Access-Control-Allow-Origin:*;Access-Control-Allow-Methods:GET, POST, OPTIONS;Access-Control-Expose-Headers:Set-Cookie;Access-Control-Allow-Headers:Set-Cookie;HttpOnly:false; 

Это заголовки ответа я получаю после того, как пост, используя эту конфигурацию:

Access-Control-Allow-Headers:Set-Cookie 
Access-Control-Allow-Methods:GET, POST, OPTIONS 
Access-Control-Allow-Origin:http://127.0.0.1:4482 
Access-Control-Expose-Headers:Set-Cookie 
Cache-Control:no-cache, no-store, private 
Connection:keep-alive 
Content-Length:10 
Content-Type:text/plain; charset=utf-8 
Date:Wed, 23 Mar 2016 08:51:02 GMT 
HttpOnly:false 
Server:Wisp/1.0.67.13 
Set-Cookie:fanws=071b2016-2718-f680-7149-000d3ab17336-cea3f199fc0dd453;Path=/ 
X-Frame-Options:SAMEORIGIN 

Значение в заголовке Set-Cookie автоматически не установлен в браузере и это, кажется, невозможно получить с помощью javascript.When I типа: console.log(headers.getAllResponseHeaders()); Я даже увидеть Set-Cookie в console.All я получаю это: Content-Type: text/plain; charset=utf-8 Cache-Control: no-cache, no-store, private

Я также использовал это на стороне сервера конфигурации:

Access-Control-Allow-Origin:http://127.0.0.1:4482;Access-Control-Allow-Methods:GET, POST, OPTIONS;Access-Control-Expose-Headers:Set-Cookie;Access-Control-Allow-Headers:Set-Cookie;HttpOnly:false;Access-Control-Allow-Credentials:true; 

Единственное, что изменилось в стороне клиента является то, что Set-Cookie disapeared из заголовков ответа и заголовок Cookie, имеющий то же значение, появился в заголовках запроса: Accept:application/json, text/plain, */* Accept-Encoding:gzip, deflate Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4 Connection:keep-alive Content-Length:103 Content-Type:application/x-www-form-urlencoded; charset=UTF-8 Cookie:fanws=071ad3d7-a5ad-4cc0-7ff4-000d3ab17336-d81da7968d36156c Host:******** Origin:http://127.0.0.1:4482 Referer:http://127.0.0.1:4482/Skyspark.html User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36

И у меня все еще есть та же проблема, с которой я не могу получить доступ к файлам cookie, отправленным сервером. Может кто-то мне помочь, пожалуйста? Спасибо.

ответ

0

XHR API forbids direct access to cookie data.

Возврат все заголовки ответа, за исключением заголовков, которые являются не чувствительны к регистру подходят для Set-Cookie или Set-Cookie2, в виде одной строки, каждая строка заголовка, разделенных U + 000D CR U + 000A LF, за исключением строки состояния, и с каждым именем заголовка и значением заголовка, разделенным парой SPONS U + 003A КОЛОН U + 0020.

Вам либо нужно передать данные, используя какой-либо другой метод, либо просто set withCredentials, и пусть браузер обрабатывает файлы cookie внутри страны.