Add "Partitioned" flag to our cookies (#3830)

This commit is contained in:
Raphael Michel
2024-01-25 09:46:04 +01:00
committed by GitHub
parent 6af2d38a98
commit 645c9d5900
2 changed files with 10 additions and 0 deletions

View File

@@ -44,6 +44,8 @@ def set_cookie_without_samesite(request, response, key, *args, **kwargs):
# This will only work on secure cookies as well # This will only work on secure cookies as well
# https://www.chromestatus.com/feature/5633521622188032 # https://www.chromestatus.com/feature/5633521622188032
response.cookies[key]['secure'] = is_secure response.cookies[key]['secure'] = is_secure
# CHIPS
response.cookies[key]['Partitioned'] = True
# Based on https://www.chromium.org/updates/same-site/incompatible-clients # Based on https://www.chromium.org/updates/same-site/incompatible-clients

View File

@@ -21,6 +21,7 @@
# #
import types import types
from datetime import datetime from datetime import datetime
from http import cookies
from PIL import Image from PIL import Image
from requests.adapters import HTTPAdapter from requests.adapters import HTTPAdapter
@@ -88,7 +89,14 @@ def monkeypatch_requests_timeout():
HTTPAdapter.send = httpadapter_send HTTPAdapter.send = httpadapter_send
def monkeypatch_cookie_morsel():
# See https://code.djangoproject.com/ticket/34613
cookies.Morsel._flags.add("partitioned")
cookies.Morsel._reserved.setdefault("partitioned", "Partitioned")
def monkeypatch_all_at_ready(): def monkeypatch_all_at_ready():
monkeypatch_vobject_performance() monkeypatch_vobject_performance()
monkeypatch_pillow_safer() monkeypatch_pillow_safer()
monkeypatch_requests_timeout() monkeypatch_requests_timeout()
monkeypatch_cookie_morsel()