schrodinger.maestro.auth.auth0_client module¶
- schrodinger.maestro.auth.auth0_client.get_auth0_client()¶
Get the singleton Auth0Client instance.
- Returns:
Singleton Auth0Client instance.
- class schrodinger.maestro.auth.auth0_client.Auth0Client¶
Bases:
QObjectSingleton Auth0 client for managing authentication.
This class provides a singleton interface for authentication and manages the Auth0Worker in a persistent background thread.
- signInCompleted¶
A
pyqtSignalemitted by instances of the class.
- tokensUpdated¶
A
pyqtSignalemitted by instances of the class.
- signedOut¶
A
pyqtSignalemitted by instances of the class.
- __init__()¶
Initialize Auth0 client, worker, and background thread.
- signIn() None¶
Start the sign-in process.
- tryAutoSignIn() None¶
Attempt to automatically sign in using a saved refresh token.
This method checks for a previously stored refresh token and attempts to obtain a valid access token. Should be called on application startup to restore the user’s session.
- signOut() None¶
Sign out the current user by clearing all stored tokens.
This performs a local logout, clearing all authentication data and emitting the signedOut signal to notify listeners.
- handleAuthenticationToggle() None¶
Handle authentication toggle by checking current state and calling appropriate method.
If user is currently authenticated, signs them out. If user is not authenticated, initiates sign-in process.
- property is_authenticated: bool¶
Check if user is authenticated.
This returns True if a refresh token is available, indicating the user has previously signed in and we can potentially obtain valid access tokens.
- Returns:
True if user has a refresh token.
- property access_token: Optional[str]¶
Get a valid access token.
This property handles token refresh transparently: - Returns the access token immediately if it’s valid - Refreshes the token synchronously if it’s expired - Signs out and returns None if refresh fails
- Returns:
Valid access token string, or None if not authenticated.