41 lines
1.1 KiB
Python
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 ""
|