Source code for sisense.admin.auth.auth_model

from sisense.api import API


[docs]class AuthModel: def __init__(self, host: str, username: str, password: str): """ Authentication model for Sisense API. :param host: (str) Domain name server. :param username: (str) User's login name. :param password: (str) User's password. """ self._token = '' self._api = API(host, 'v1') self.login(username, password) @property def token(self) -> str: """ Get access token. :return: (str) """ return f"Bearer {self._token}"
[docs] def login(self, username: str, password: str): """ Get an access token using the specified credentials. :param username: (str) User's login name. :param password: (str) User's password. """ raise NotImplementedError
[docs] def logout(self): """Revoke access token.""" raise NotImplementedError
[docs] def is_logged(self) -> bool: """True, if user is logged. False, otherwise.""" return bool(len(self._token))
def _reset_token(self): self._token = '' def __del__(self): self.logout()