mirror of
https://github.com/fastapi/fastapi.git
synced 2026-05-07 15:16:42 -04:00
🐛 Strip whitespaces from Authorization header credentials (#14786)
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user