Установка SameSite = нет, безопасная в расширении Chrome - PullRequest
1 голос
/ 18 октября 2019

После недавнего обновления chrome 77.0 я начал получать это предупреждение на фоновой странице моего расширения chrome.

Файл cookie, связанный с межсайтовым ресурсом в http://www.google.com/, был установлен безатрибут SameSite. В будущих версиях Chrome файлы cookie будут отправляться только с межсайтовыми запросами, если для них установлены значения SameSite=None и Secure. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе «Приложение»> «Хранение»> «Файлы cookie» и просмотреть более подробную информацию по адресам https://www.chromestatus.com/feature/5088147346030592 и https://www.chromestatus.com/feature/5633521622188032.

. Мне удалось вернуть расширение в его предыдущее рабочее состояние:установив для файлов cookie SameSite по умолчанию значение «включено». on chrome: // flags

Когда это временное исправление на стороне клиента отключено и этот код выполняется,

console.log(rtLink) 

rtLink возвращается как неопределенное, когда исправление на стороне клиента включено, он выполняется правильно и отображает URL-адрес, найденный в поиске Google

//console.log("Background.js is running");

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        fetch(request)
            .then(function(response) {

            return response.text()
            })
            .then(function(html) {
                var parser = new DOMParser();
                var doc = parser.parseFromString(html, "text/html");

                // Finds and sets the first search term URL to rtLink
                var rtLink = doc.getElementsByClassName("r")[0].children[0].href;
                console.log(rtLink);

Мой вопрос: как мне установить SameSite = Lax (или None) и Secure в моем запросе / ответе на выборку,или, возможно, я задаю не тот вопрос. Если это так, на что конкретно я должен перейти, чтобы учесть это изменение файла cookie?

1 Ответ

0 голосов
/ 01 ноября 2019

Для любого из этих предупреждений, если вы не несете ответственности за домен, то вы не несете ответственности за обновление файлов cookie. В этом случае Google несет ответственность за обновление соответствующего кода, который устанавливает атрибуты SameSite для файлов cookie, с google.com.

. На данный момент предупреждения носят чисто информационный характер и не влияют на функциональность. Реализация этого поведения в стабильном Chrome не запланирована до M80, в настоящее время намеченного на февраль 2020 года.

Если вы хотите, чтобы куки отправлялись с вашим запросом fetch, убедитесь, что вы явно включили их .

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        fetch(request, { credentials: 'include' })
            .then(function(response) { // snip
...