simplify Kerberos authentication by removing JSON parsing and token validation steps

This commit is contained in:
2026-06-11 16:19:36 +02:00
parent c6698dca06
commit 54c8c33995
+5 -19
View File
@@ -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