404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@52.15.120.116: ~ $
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
        )

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
__init__.py File 1.63 KB 0644
algorithms.py File 29.1 KB 0644
api_jwk.py File 4.1 KB 0644
api_jws.py File 10.84 KB 0644
api_jwt.py File 12.34 KB 0644
exceptions.py File 1.02 KB 0644
help.py File 1.71 KB 0644
jwk_set_cache.py File 959 B 0644
jwks_client.py File 4.12 KB 0644
py.typed File 0 B 0644
types.py File 99 B 0644
utils.py File 3.81 KB 0644
warnings.py File 59 B 0644