sso_cookies.py: Parse according to RFC 6265

Individual cookies in the `Cookie` header, according to Section 5.4 of RFC 6265 [1],
are separated by the "semicolon-space" (`; `) combination. This becomes relevant
when there is a cookie whose value contains a semicolon. I have just encountered one
on O'Reilly Learning, namely `OptanonConsent` ending in `&geolocation=US;CA`,
which was breaking the script.

[1]: https://www.rfc-editor.org/rfc/rfc6265#section-5.4
This commit is contained in:
left-blank 2022-01-19 21:47:09 -08:00 • committed by GitHub
commit 35bb829631
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -15,8 +15,7 @@ import safaribooks
def transform(cookies_string):
cookies = {}
for cookie in cookies_string.split(";"):
cookie = cookie.strip()
for cookie in cookies_string.split("; "):
key, value = cookie.split("=", 1)
cookies[key] = value