Безопасность: невозможно установить SameSite=None в настройках cookie

Google недавно изменил свои политики в отношении файлов cookie (Chrome's Changes Could Break Your App: Prepare for SameSite Cookie Updates | Heroku). По сути, все файлы cookie, поступающие из другого домена верхнего уровня, должны иметь атрибут “secure: true” (что уже выполняется), а также “sameSite=None”.

Теперь в настройках безопасности Discourse можно изменить политику файлов cookie:

“same site cookies” с вариантами: “Lax”, “Strict”, “Disabled”.

Первые два варианта будут напрямую переданы как значения параметра “SameSite” в файле cookie. Вариант “Disabled” не устанавливает никакого значения.

Проблема заключается в том, что нам необходимо передать значение “None” в файл cookie. Только с “None” файл cookie будет передан на другой сайт (не принадлежащий тому же домену верхнего уровня).

Однако в Discourse нет значения “None”, которое можно было бы выбрать, но оно нам крайне необходимо для корректной работы API нашего форума Discourse.

Должно быть несложно реализовать дополнительное значение “None” для файла cookie same_site.

Пожалуйста, посмотрите на это.

Заранее спасибо!
Дэвид

1 лайк

PR абсолютно приветствуется, чтобы добавить эту дополнительную настройку, это должно быть крошечное изменение.

1 лайк

Нет проблем. Реализация (которая по сути сводится к добавлению одного слова) готова. Я только что подписал ваше соглашение с контрибьютором. Не могли бы вы добавить меня в список контрибьюторов? Мой ник на GitHub — тоже dave0688. После этого я создам PR, который прошу вас (или кого-то другого) проверить.

1 лайк

Можно, пожалуйста, получить ответ на это? Я готов создать PR, но при пуше моей ветки получаю ошибку 403…

Вам потребуется сделать форк репозитория, отправить свою ветку в свой форк, а затем создать PR оттуда. Только команда Discourse является «вкладчиками» в репозиторий discourse/discourse.

3 лайка

Никаких проблем, только что сделал это:

3 лайка

Только что объединил, спасибо за PR @dave0688 :smiley:

3 лайка

Эта тема была автоматически закрыта через 7 часов. Новые ответы больше не принимаются.