Browse Source

Allow for OAuth service to stop after token has been retrieved

Erwan MATHIEU 1 year ago
parent
commit
b794989468
1 changed files with 7 additions and 2 deletions
  1. 7 2
      cura/OAuth2/AuthorizationService.py

+ 7 - 2
cura/OAuth2/AuthorizationService.py

@@ -31,7 +31,10 @@ class AuthorizationService:
     account information.
     """
 
-    def __init__(self, settings: "OAuth2Settings", preferences: Optional["Preferences"] = None) -> None:
+    def __init__(self,
+                 settings: "OAuth2Settings",
+                 preferences: Optional["Preferences"] = None,
+                 get_user_profile: bool = True) -> None:
         # Emit signal when authentication is completed.
         self.onAuthStateChanged = Signal()
 
@@ -45,6 +48,7 @@ class AuthorizationService:
         self._auth_url = "{}/authorize".format(self._settings.OAUTH_SERVER_URL)
         self._auth_data: Optional[AuthenticationResponse] = None
         self._user_profile: Optional["UserProfile"] = None
+        self._get_user_profile: bool = get_user_profile
         self._preferences = preferences
         self._server = LocalAuthorizationServer(self._auth_helpers, self._onAuthStateChanged, daemon=True)
         self._currently_refreshing_token = False  # Whether we are currently in the process of refreshing auth. Don't make new requests while busy.
@@ -294,7 +298,8 @@ class AuthorizationService:
         self._auth_data = auth_data
         self._currently_refreshing_token = False
         if auth_data:
-            self.getUserProfile()
+            if self._get_user_profile:
+                self.getUserProfile()
             self._preferences.setValue(self._settings.AUTH_DATA_PREFERENCE_KEY, json.dumps(auth_data.dump()))
         else:
             Logger.log("d", "Clearing the user profile")