import os import jwt import requests from aaredaqlib.models import TokenData from aaredaqlib.logger_config import setup_logger logger = setup_logger('aareGUI') def auth(base_url: str | None) -> str: curr_user = os.getlogin() if base_url is None: token_data = TokenData(sub=curr_user, staff=True, session=15, pgroups=["p16371", "p22233"]) return jwt.encode(token_data.model_dump(), "ABC123") try: response = requests.post( f"{base_url}/token", data={ "username": curr_user, "password": "" }, headers={ "Content-Type": "application/x-www-form-urlencoded" } ) if response.status_code == 200: response_json = response.json() if "access_token" in response_json: return response_json["access_token"] except requests.RequestException as e: logger.error(f"Authentication request failed: {e}") return ""