@@ -2016,6 +2016,7 @@ class TestWWWAuthenticate:
20162016 "resource_metadata" ,
20172017 "https://api.example.com/auth/metadata?version=1" ,
20182018 ),
2019+ ('Bearer error_scope="decoy", scope="read write"' , "scope" , "read write" ),
20192020 ],
20202021 )
20212022 def test_extract_field_from_www_auth_valid_cases (
@@ -2047,6 +2048,12 @@ def test_extract_field_from_www_auth_valid_cases(
20472048 # Header without requested field
20482049 ('Bearer realm="api", error="insufficient_scope"' , "scope" , "no scope parameter" ),
20492050 ('Bearer realm="api", scope="read write"' , "resource_metadata" , "no resource_metadata parameter" ),
2051+ ('Bearer custom_scope="leaked"' , "scope" , "field name appears only as a substring" ),
2052+ (
2053+ 'Bearer x_resource_metadata="https://decoy.example.com"' ,
2054+ "resource_metadata" ,
2055+ "field name appears only as a substring" ,
2056+ ),
20502057 # Malformed field (empty value)
20512058 ("Bearer scope=" , "scope" , "malformed scope parameter" ),
20522059 ("Bearer resource_metadata=" , "resource_metadata" , "malformed resource_metadata parameter" ),
0 commit comments