🐛 Strip whitespaces from Authorization header credentials (#14786)

This commit is contained in:
Cecilia Madrid authored and GitHub committed 2026-02-04 14:46:46 +01:00
1 parent 3675e284ab
commit 1d96b3e3f1
3 files changed
+13 -1

No files matched your search

+1 -1
View File
@@ -7,4 +7,4 @@ def get_authorization_scheme_param(
if not authorization_header_value:
return "", ""
scheme, _, param = authorization_header_value.partition(" ")
return scheme, param
return scheme, param.strip()
+6
View File
@@ -21,6 +21,12 @@ def test_security_http_base():
assert response.json() == {"scheme": "Other", "credentials": "foobar"}
def test_security_http_base_with_whitespaces():
response = client.get("/users/me", headers={"Authorization": "Other foobar "})
assert response.status_code == 200, response.text
assert response.json() == {"scheme": "Other", "credentials": "foobar"}
def test_security_http_base_no_credentials():
response = client.get("/users/me")
assert response.status_code == 401, response.text
@@ -37,6 +37,12 @@ def test_token():
assert response.json() == {"token": "testtoken"}
def test_token_with_whitespaces():
response = client.get("/items", headers={"Authorization": "Bearer testtoken "})
assert response.status_code == 200, response.text
assert response.json() == {"token": "testtoken"}
def test_openapi_schema():
response = client.get("/openapi.json")
assert response.status_code == 200, response.text