/snap/core24/1587/usr/lib/python3/dist-packages/jwt
NameSizeModeActions
__pycache__/-0755rm
algorithms.py298000644editdlrm
api_jwk.py41960644editdlrm
api_jws.py110990644editdlrm
api_jwt.py118250644editdlrm
exceptions.py10460644editdlrm
help.py17490644editdlrm
jwks_client.py40500644editdlrm
jwk_set_cache.py9590644editdlrm
py.typed00644editdlrm
types.py990644editdlrm
utils.py39030644editdlrm
warnings.py590644editdlrm
__init__.py16040644editdlrm
Edit: /snap/core24/1587/usr/lib/python3/dist-packages/jwt/jwk_set_cache.py (959B)
import time from typing import Optional from .api_jwk import PyJWKSet, PyJWTSetWithTimestamp class JWKSetCache: def __init__(self, lifespan: int) -> None: self.jwk_set_with_timestamp: Optional[PyJWTSetWithTimestamp] = None self.lifespan = lifespan def put(self, jwk_set: PyJWKSet) -> None: if jwk_set is not None: self.jwk_set_with_timestamp = PyJWTSetWithTimestamp(jwk_set) else: # clear cache self.jwk_set_with_timestamp = None def get(self) -> Optional[PyJWKSet]: if self.jwk_set_with_timestamp is None or self.is_expired(): return None return self.jwk_set_with_timestamp.get_jwk_set() def is_expired(self) -> bool: return ( self.jwk_set_with_timestamp is not None and self.lifespan > -1 and time.monotonic() > self.jwk_set_with_timestamp.get_timestamp() + self.lifespan )