Source code for satorbis_kit.auth.auth_base

from abc import ABC, abstractmethod

from .token_store import TokenStore


[docs] class BaseAuth(ABC): """Shared authentication interface.""" def __init__(self): self.tokens = TokenStore()
[docs] @abstractmethod def authenticate(self): pass # pragma: no cover
[docs] @abstractmethod def refresh_token(self): pass # pragma: no cover
[docs] def get_access_token(self): if self.tokens.is_empty: raise RuntimeError("Authentication has not been performed yet.") if self.tokens.is_expired: self.refresh_token() return self.tokens.access_token