ClaimCheckAI / app /core /ibm_auth.py
stutiagrawal's picture
Initial commit
ca4ed58
Raw
History Blame
625 Bytes
# app/core/ibm_auth.py
import requests, time, os
from app.core.config import WATSONX_API_KEY
_iam = {"tok": None, "exp": 0}
def ibm_iam_token():
now = time.time()
if _iam["tok"] and now < _iam["exp"] - 60:
return _iam["tok"]
r = requests.post(
"https://iam.cloud.ibm.com/identity/token",
data={"grant_type":"urn:ibm:params:oauth:grant-type:apikey","apikey":WATSONX_API_KEY},
headers={"Content-Type":"application/x-www-form-urlencoded"}
)
r.raise_for_status()
tok = r.json()["access_token"]
_iam["tok"] = tok
_iam["exp"] = now + 3000 # ~50 min
return tok