10.2.2. Common Mixins for all Authentication Methods

class pytan3.auth_methods.CommonMixin(http_client, login_timeout=5, logout_timeout=5, expires_after=295, ver_check=True, lvl='info')[source]

Bases: object

Shared methods common amongst all AuthMethod.

__init__(http_client, login_timeout=5, logout_timeout=5, expires_after=295, ver_check=True, lvl='info')[source]

Constructor.

Parameters:
  • http_client (pytan3.http_client.HttpClient) – Object for sending HTTP requests.
  • login_timeout (int, optional) –

    Timeout for login and validate responses in seconds.

    Defaults to: 5.

  • logout_timeout (int, optional) –

    Timeout for logout responses in seconds.

    Defaults to: 5.

  • expires_after (int, optional) –

    Life of received tokens in seconds.

    Defaults to: 295.

  • ver_check (bool, optional) –

    Perform version checks against the platform version from pytan3.api_clients.get_version() using pytan3.utils.versions.version_check_obj_req().

    Defaults to: True.

  • lvl (str, optional) –

    Logging level for this object.

    Defaults to: “info”.

log = None

logging.Logger – Log for this object.

revalidate_after = None

int – Revalidate token if last_used is higher than this.

__str__()[source]

Show object info.

Returns:str
__repr__()[source]

Show object info.

Returns:str
classmethod from_store(store, **kwargs)[source]

Create an instance of this class from an pytan3.auth_store.AuthStore.

Parameters:
Returns:

AuthMethod

http_client

Get the HTTP Client for this object.

Returns:pytan3.http_client.HttpClient
token

Get a token.

Notes

If logged_in is False, login() to get one.

If expired is True, login() to get a new one.

If logged_in is True, and last_used is older than revalidate_after, validate() to re-validate token.

If validate() fails validation, login() to get a new one.

Returns:str
token_headers

Get dict with token for use in headers.

Returns:dict
uid

Get user ID for token if a token has been received.

Returns:str
logged_in

Check if a token has been received.

Returns:bool
expired

Check if token has expired.

Returns:bool
last_used

Get the number of seconds since token was issued or last used.

Returns:int
login(**kwargs)[source]

Send a login request to receive a token.

Parameters:**kwargs
cause (str):
String to explain purpose of request.

Defaults to: “Get new token”.

Raises:exceptions.LoginError – If status code in response is not 200.
Returns:str
logout(**kwargs)[source]

Send a logout request to revoke a token.

Parameters:

**kwargs

cause (str):

String to explain purpose of request.

Defaults to: “Revoke token”.

headers (dict):

Headers to send in request.

Defaults to: {}.

Raises:
Returns:

None

logout_all(**kwargs)[source]

Send a logout request to revoke all tokens associated with this token.

Parameters:

**kwargs

cause (str):

String to explain purpose of request.

Defaults to: “Revoke all tokens”.

headers (dict):

Headers to send in request.

Defaults to: {}.

Raises:
Returns:

None

validate(**kwargs)[source]

Send a validate request to check that token is still valid.

Parameters:

**kwargs

cause (str):

String to explain purpose of request.

Defaults to: “Validate token”.

headers (dict):

Headers to send in request.

Defaults to: {}.

Raises:
Returns:

str

create_store(**kwargs)[source]

Create an instance of pytan3.auth_store.AuthStore from this object.

Returns:pytan3.auth_store.AuthStore