У меня проблемы с работой с файлами cookie через расширение Chrome из всплывающего скрипта.
содержимое popup.js:
document.addEventListener('DOMContentLoaded', () => {
function cookieinfo() {
chrome.cookies.getAll({url: 'http://localhost:8080'}, function(cookie) {
console.log('Found cookie: ', cookie)
if (cookie == null)
return;
fetch('http://localhost:8080', {credentials: 'include'}).then((response) => {
// do some stuff
return response;
});
});
}
window.onload=cookieinfo;
}, false);
Шаги, которые я выполняю:
- Войдите в мое приложение на локальном хосте (чтобы я получил файлы cookie)
- Откройте всплывающее окно (запускается popup.js)
- Я вижу в журнале консоли, что хром обнаружил необходимые файлы cookie
- Сервер сообщает, что входящий запрос имеет пустые файлы cookie
- Обновляю страницу приложения localhost
- Я выхожу из системы сейчас
Может кто знает, что я делаю не так?
Изменить:
Похоже, причина в том, что у моего файла cookie есть параметры HttpOnly=true
и SameSite=Lax
(соответствующая ссылка). Я вижу другие файлы cookie в журнале сервера. Но из-за этого потока все файлы cookie будут отправлены, если для параметра credentials
установлено значение include
, даже файлы cookie httpOnly. Также я попытался отправить его на 127.0.0.1 вместо localhost из-за этого ответа с тем же результатом.
Я не могу установить для httpOnly
значение false. Это вызвано фреймворком. Кто-нибудь знает как исправить?
Edit2:
Я наконец установил редактор файлов cookie и обнаружил, что причина в SameSite=Lax
. Если я установлю No Restriction
, я увижу его на стороне сервера. К сожалению, используемый мной фреймворк допускает только параметры Lax
и Strict
(расширение Chrome не работает с обоими). Кто-нибудь знает, как отправлять файлы cookie Lax из расширения Chrome?
document.cookie
возвращает пустую строку. Но как мне запустить код в контексте окна браузера, еслиcontent_script
не является решением? - person Defake   schedule 09.08.2018fetch
,XMLHttpRequest
и$.ajax
работают с одинаковым результатом (не отправляйте этот файл cookie) - person Defake   schedule 21.08.2018