diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index eae9a30ed7..7ae00bafb2 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -8152,6 +8152,7 @@ async def auth_callback(request: Request): "user_id": user_id, "user_email": user_email, } + _user_id_from_sso = user_id try: user_role = None if prisma_client is not None: @@ -8175,7 +8176,7 @@ async def auth_callback(request: Request): if user_info is not None: user_defined_values = { "models": getattr(user_info, "models", user_id_models), - "user_id": getattr(user_info, "user_id", user_id), + "user_id": user_id, "user_email": getattr(user_info, "user_id", user_email), "user_role": getattr(user_info, "user_role", None), } @@ -8206,6 +8207,10 @@ async def auth_callback(request: Request): ) key = response["token"] # type: ignore user_id = response["user_id"] # type: ignore + + # This should always be true + # User_id on SSO == user_id in the LiteLLM_VerificationToken Table + assert user_id == _user_id_from_sso litellm_dashboard_ui = "/ui/" user_role = user_role or "app_owner" if ( diff --git a/ui/litellm-dashboard/src/components/view_user_spend.tsx b/ui/litellm-dashboard/src/components/view_user_spend.tsx index eed5efe57d..d74dcaecf2 100644 --- a/ui/litellm-dashboard/src/components/view_user_spend.tsx +++ b/ui/litellm-dashboard/src/components/view_user_spend.tsx @@ -109,6 +109,10 @@ const ViewUserSpend: React.FC = ({ userID, userRole, accessT if (modelsToDisplay && modelsToDisplay.includes("all-proxy-models")) { console.log("user models:", userModels); modelsToDisplay = userModels; + } else if (modelsToDisplay && modelsToDisplay.includes("all-team-models")) { + modelsToDisplay = selectedTeam.models; + } else if (modelsToDisplay && modelsToDisplay.length === 0) { + modelsToDisplay = userModels; } @@ -129,7 +133,7 @@ const ViewUserSpend: React.FC = ({ userID, userRole, accessT
- Models + Team Models {modelsToDisplay.map((model: string) => (