Skip to content

Commit bc13ead

Browse files
committed
fix(jwt): make BaseClaimsRegistry.essential_keys a property.
Update docstrings for BaseClaimsRegistry.
1 parent 3e23c70 commit bc13ead

1 file changed

Lines changed: 20 additions & 1 deletion

File tree

‎src/joserfc/_rfc7519/claims.py‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,20 @@ class BaseClaimsRegistry:
4040

4141
def__init__(self, **kwargs: ClaimsOption):
4242
self.options=kwargs
43-
self.essential_keys= {keyforkeyinkwargsifkwargs[key].get("essential")}
43+
44+
@property
45+
defessential_keys(self) ->set[str]:
46+
"""Returns the essential claim names."""
47+
return {keyforkeyinself.optionsifself.options[key].get("essential")}
4448

4549
defcheck_value(self, claim_name: str, value: Any) ->None:
50+
"""
51+
Validates a given claim value based on predefined options.
52+
53+
:param claim_name: The name of the claim to validate.
54+
:param value: The value of the claim to be validated.
55+
:raises InvalidClaimError: If the value does not meet the claim's validation requirements.
56+
"""
4657
option=self.options.get(claim_name)
4758
ifnotoption:
4859
return
@@ -69,6 +80,13 @@ def check_value(self, claim_name: str, value: Any) -> None:
6980
raiseInvalidClaimError(claim_name)
7081

7182
defvalidate(self, claims: dict[str, Any]) ->None:
83+
"""
84+
Validates the provided claims against specified requirements and checks.
85+
86+
:param claims: A dictionary containing claims to validate.
87+
:raises InvalidClaimError: Raised if any claim fails validation.
88+
:raises MissingClaimError: Raised if one or more essential keys are missing.
89+
"""
7290
missed_keys= {keyforkeyinself.essential_keysifclaims.get(key) isNone}
7391
ifmissed_keys:
7492
raiseMissingClaimError(",".join(sorted(missed_keys)))
@@ -99,6 +117,7 @@ def __init__(self, now: int | Callable[[], int] | None = None, leeway: int = 0,
99117

100118
@property
101119
defnow(self) ->int:
120+
"""Returns the current timestamp."""
102121
ifcallable(self._now):
103122
returnself._now()
104123
returnself._now

0 commit comments

Comments
 (0)