Skip to content

Commit 60f8a77

Browse files
Asaif AliAsaif Ali
authored andcommitted
Accept the temporary gateway JWT from the portfolio launch URL
1 parent c6ebf38 commit 60f8a77

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

streamlit_ui/api_client.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,16 @@ def __init__(self, status_code: Optional[int], detail: str):
1818

1919

2020
class AgentServiceClient:
21-
def __init__(self, base_url: str = DEFAULT_BASE_URL, token: str = "streamlit-user"):
21+
def __init__(self, base_url: str = DEFAULT_BASE_URL, token: str = "streamlit-user", gateway_token: str = ""):
2222
self.base_url = base_url.rstrip("/")
2323
self.token = token or "streamlit-user"
24+
self.gateway_token = (gateway_token or "").strip()
2425

2526
def _headers(self) -> Dict[str, str]:
26-
return {"Authorization": f"Bearer {self.token}"}
27+
headers = {"Authorization": f"Bearer {self.token}"}
28+
if self.gateway_token:
29+
headers["X-LLM-Gateway-Token"] = self.gateway_token
30+
return headers
2731

2832
def _request(self, method: str, path: str, timeout: int = DEFAULT_TIMEOUT, **kwargs) -> Any:
2933
url = f"{self.base_url}{path}"

streamlit_ui/app.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,16 @@
175175
# --------------------------------------------------------------------------
176176
if "base_url" not in st.session_state:
177177
st.session_state.base_url = DEFAULT_BASE_URL
178+
if "llm_gateway_session_token" not in st.session_state:
179+
st.session_state.llm_gateway_session_token = ""
180+
181+
portfolio_token = str(st.query_params.get("portfolio_llm_session", "")).strip()
182+
if portfolio_token:
183+
st.session_state.llm_gateway_session_token = portfolio_token
184+
try:
185+
del st.query_params["portfolio_llm_session"]
186+
except Exception:
187+
pass
178188
if "token" not in st.session_state:
179189
st.session_state.token = "streamlit-user"
180190
if "active_task_id" not in st.session_state:
@@ -190,7 +200,7 @@
190200

191201

192202
def get_client() -> AgentServiceClient:
193-
return AgentServiceClient(base_url=st.session_state.base_url, token=st.session_state.token)
203+
return AgentServiceClient(base_url=st.session_state.base_url, token=st.session_state.token, gateway_token=st.session_state.get("llm_gateway_session_token", ""))
194204

195205

196206
def try_lottie(url: str, height: int = 160):

0 commit comments

Comments
 (0)