Skip to content

Commit eec6d5e

Browse files
committed
fix(jwt): report correct claim name for invalid iss
1 parent 357c319 commit eec6d5e

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

‎src/joserfc/_rfc7519/claims.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ def validate_iss(self, value: str) -> None:
127127
value. Use of this claim is OPTIONAL.
128128
"""
129129
if not isinstance(value, str):
130-
raise InvalidClaimError("str", "Claim 'str' must be a StringOrURI value")
130+
raise InvalidClaimError("iss", "Claim 'iss' must be a StringOrURI value")
131131
self.check_value("iss", value)
132132

133133
def validate_sub(self, value: str) -> None:

‎tests/jwt/test_claims.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,15 @@ def test_essential_claims(self):
5151
def test_claim_iss(self):
5252
claims_requests = jwt.JWTClaimsRegistry(iss={"essential": True})
5353
claims_requests.validate({"iss": "a"})
54-
self.assertRaises(InvalidClaimError, claims_requests.validate, {"iss": 1})
5554
self.assertRaises(InvalidClaimError, claims_requests.validate, {"iss": True})
5655
self.assertRaises(InvalidClaimError, claims_requests.validate, {"iss": ["a"]})
5756
self.assertRaises(InvalidClaimError, claims_requests.validate, {"iss": {"a": "b"}})
5857

58+
with self.assertRaises(InvalidClaimError) as cm:
59+
claims_requests.validate({"iss": 1})
60+
self.assertEqual(cm.exception.claim, "iss")
61+
self.assertIn("'iss'", cm.exception.description)
62+
5963
def test_claim_sub(self):
6064
claims_requests = jwt.JWTClaimsRegistry(sub={"essential": True})
6165
claims_requests.validate({"sub": "a"})

0 commit comments

Comments
 (0)