Cookie не установлен на localhost в chrome или firefox
Я работаю с сервером Джерси, который возвращает файл cookie следующим образом:
return Response.ok()
.cookie(
new NewCookie(
"userAccessToken", userTokenDTO.getToken(), "/", "",
"what is this", 3600, false
)
).build();
Когда я вызываю метод, который возвращает cookie, я получаю следующий результат в chrome:
![Заголовок запроса и ответа]()
Я даже вижу, что хром узнал мой файл cookie:
![Cookie detected]()
Но по какой-то причине он не установлен на вкладке cookie:
![Нет файлов cookie]()
Я попытался установить домен как false, null, "", создав запись в переименовании файлов хостов 127.0.0.1.
return Response.ok()
.cookie(
new NewCookie(
"userAccessToken", userTokenDTO.getToken(), "/", "127.0.0.1",
"what is this", 3600, false)
).build();
Работает в IE 11, но все же не Chrome и Firefox...
Я попытался несколько раз вставить другое имя узла для 127.0.0.1. В этом примере это text.myexample.com. Он по-прежнему не работает ни в каком другом браузере, кроме IE11.
return Response.ok()
.cookie(
new NewCookie(
"userAccessToken", userTokenDTO.getToken(), "/", "test.myexample.com",
"what", 7200, false)
).build();
Я попытался сделать следующее в консоли Google Chrome:
document.cookie = "userAccessToken=72bebbe0-44fd-45ce-a6e1-accb72201eff;Version=1;Comment=what;Domain=test.myexample.com;Path=/;Max-Age=7200"
Каков cookie в заголовке, возвращаемом сервером в Chrome. Это прекрасно работает. Я буквально не знаю, что здесь происходит.
Ответы
Ответ 1
Оказывается, проблема связана с библиотекой извлечения, которую я использую. Если вы не включаете {credentials: 'same-origin'} в запрос, файл cookie ответа не устанавливается.
Для получения дополнительной информации см. https://github.com/github/fetch/issues/386.
Ответ 2
Его проблема только с localhost, хорошо работает на других URL-адресах, см. ниже ссылку здесь, cookie работает, но в локальном случае она не работает
http://jerseyexample-ravikant.rhcloud.com/rest/jws/say/Hi
для localhost вы можете пойти ниже.
return Response.status(200).entity(output)
.header("Set-Cookie", "userAccessToken=toke;lang=en-US; Path=/; Domain=localhost")
.build();
![введите описание изображения здесь]()
См. вкладку сети
Заголовки ответов
Content-Length: 18
Content-Type: текст /html
Дата: Пт, 25 Ноя 2016 10:19:15 GMT
Время обработки: 0 миллисекунд
Сервер: Apache-Койот/1.1
Set-Cookie: userAccessToken = ток; LANG = EN-US; Path =/; Домен = локальный
![вкладка]()