diff --git a/cloudAPI/cloudManager.py b/cloudAPI/cloudManager.py index 1be0dcdb2..fe1210537 100644 --- a/cloudAPI/cloudManager.py +++ b/cloudAPI/cloudManager.py @@ -43,6 +43,10 @@ class CloudManager: def verifyLogin(self, request): try: + # Check if token needs to be generated + if self.admin.token == 'TOKEN_NEEDS_GENERATION': + return 0, self.ajaxPre(0, 'API token needs to be generated. Please reset your password to generate a valid API token.') + if request.META['HTTP_AUTHORIZATION'] == self.admin.token: return 1, self.ajaxPre(1, None) else: diff --git a/to-do/Skjermbilde 2025-09-21 193540.png b/to-do/Skjermbilde 2025-09-21 193540.png new file mode 100644 index 000000000..3a8b2aaa8 Binary files /dev/null and b/to-do/Skjermbilde 2025-09-21 193540.png differ diff --git a/userManagment/views.py b/userManagment/views.py index 0a95d49e6..c625d2ed0 100644 --- a/userManagment/views.py +++ b/userManagment/views.py @@ -99,6 +99,13 @@ def saveChangesAPIAccess(request): if access == "Enable": userAcct.api = 1 + # When enabling API access, ensure the user has a proper token + # The token should be generated based on username:password format + # If no token exists, we'll need the user to reset their password + if not userAcct.token or userAcct.token == 'None' or userAcct.token == '': + # Token will be generated when user changes their password + # For now, set a placeholder that indicates API access is enabled but token needs generation + userAcct.token = 'TOKEN_NEEDS_GENERATION' else: userAcct.api = 0