Skip to content

Commit 1910726

Browse files
authored
fix: a unexpected token (#567)
1 parent 410b4b0 commit 1910726

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

flask_jwt_extended/view_decorators.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ def _decode_jwt_from_headers() -> Tuple[str, None]:
202202
# <HeaderName>: <field> <value>, <field> <value>, etc...
203203
if header_type:
204204
field_values = split(r",\s*", auth_header)
205-
jwt_headers = [s for s in field_values if s.split()[0] == header_type]
205+
jwt_headers = [s for s in field_values if s and s.split()[0] == header_type]
206206
if len(jwt_headers) != 1:
207207
msg = (
208208
f"Missing '{header_type}' type in '{header_name}' header. "

tests/test_view_decorators.py

+7
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,13 @@ def test_jwt_optional_with_no_valid_jwt(app):
253253
assert response.status_code == 422
254254
assert response.get_json() == {"msg": "Not enough segments"}
255255

256+
# Unexpected token
257+
response = test_client.get(url, headers={"Authorization": "Bearer ,,0"})
258+
assert response.status_code == 422
259+
assert response.get_json() == {
260+
"msg": "Bad Authorization header. Expected 'Authorization: Bearer <JWT>'"
261+
}
262+
256263

257264
def test_override_jwt_location(app):
258265
app.config["JWT_TOKEN_LOCATION"] = ["cookies"]

0 commit comments

Comments
 (0)