Files
AareDAQ/gui/src/aaregui/auth.py
T

41 lines
1.1 KiB
Python

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 ""