From 54c8c33995f44282ac55a85bbb88f4135cce2bf4 Mon Sep 17 00:00:00 2001 From: Dawn Date: Thu, 11 Jun 2026 16:19:36 +0200 Subject: [PATCH] simplify Kerberos authentication by removing JSON parsing and token validation steps --- src/aare/gui/auth.py | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/src/aare/gui/auth.py b/src/aare/gui/auth.py index 3bbe26bb..73549724 100644 --- a/src/aare/gui/auth.py +++ b/src/aare/gui/auth.py @@ -1,4 +1,3 @@ -import json import subprocess import jwt @@ -23,11 +22,7 @@ def auth(base_url: str | None, cert_path: str | None) -> str: cacert = f"{cert_path}" try: token_result = subprocess.run( - ['curl', '-s', '--cacert', cacert, - '--negotiate', '-u', ':', - '-X', 'POST', url, - '-d', 'username=&password=', - '-H', 'Content-Type: application/x-www-form-urlencoded'], + ['curl', '-s', '--cacert', cacert, '--negotiate', '-u', ':', url], capture_output=True, text=True, timeout=18.0, @@ -60,21 +55,12 @@ def auth(base_url: str | None, cert_path: str | None) -> str: "Check Kerberos ticket is valid (kinit) and server is reachable." ) - try: - response_json = json.loads(token_result.stdout) - except json.JSONDecodeError as e: - logger.error(f"Token response not JSON. stdout: {token_result.stdout[:500]}") + token = token_result.stdout.strip() + if not token: + logger.error(f"Empty token response. stderr: {token_result.stderr[:500]}") raise RuntimeError( - "Authentication failed (invalid server response). " + "Authentication failed (empty server response). " "The server may be starting up or misconfigured." - ) from e - - token = response_json.get("access_token") - if not token or not isinstance(token, str): - logger.error(f"Missing access_token. Keys: {list(response_json.keys())}. Server response {response_json}") - raise RuntimeError( - "Authentication failed (missing token in server response). " - "The server may be starting up." ) return token \ No newline at end of file