schrodinger.maestro.auth.token_manager module

class schrodinger.maestro.auth.token_manager.TokenData(access_token: Optional[str] = None, refresh_token: Optional[str] = None, id_token: Optional[str] = None, expires_at: Optional[datetime] = None, scope: Optional[str] = None)

Bases: object

Data class to hold OAuth2 token information.

This class groups all related token data into a single object for better organization and maintainability.

access_token: Optional[str] = None
refresh_token: Optional[str] = None
id_token: Optional[str] = None
expires_at: Optional[datetime] = None
scope: Optional[str] = None
__init__(access_token: Optional[str] = None, refresh_token: Optional[str] = None, id_token: Optional[str] = None, expires_at: Optional[datetime] = None, scope: Optional[str] = None) None
class schrodinger.maestro.auth.token_manager.TokenManager

Bases: object

Token manager for OAuth2 tokens.

This class handles token storage, validation, and provides API for accessing token information.

__init__()

Initialize empty token manager.

initializeToken(token_response: Dict[str, Any]) None

Parse token response and initialize member variables.

Parameters:

token_response – Token response dictionary from Auth0.

getAccessToken() Optional[str]

Get the access token.

Returns:

Access token string or None if not initialized.

isAccessTokenValid() bool

Check if the access token is valid and not expired.

Returns:

True if token is valid and not expired, False otherwise.

getRefreshToken() Optional[str]

Get the refresh token.

Returns:

Refresh token string or None if not available.

hasRefreshToken() bool

Check if a refresh token is available.

Returns:

True if refresh token exists, False otherwise.

loadRefreshTokenFromStorage() Optional[str]

Load refresh token from secure storage.

This method attempts to load a previously saved refresh token from the system keyring. Used for auto-login on startup.

Returns:

The refresh token if found, None otherwise.

clear() None

Clear all stored token data.