Merge pull request #3228 from BerriAI/litellm_ui_polish

[Fix] Non-Admin SSO Login
This commit is contained in:
Ishaan Jaff 2024-04-22 18:15:10 -07:00 committed by GitHub
commit fdf432798e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 2 deletions

View file

@ -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 (

View file

@ -109,6 +109,10 @@ const ViewUserSpend: React.FC<ViewUserSpendProps> = ({ 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<ViewUserSpendProps> = ({ userID, userRole, accessT
</div>
<div className="ml-auto">
<Accordion>
<AccordionHeader>Models</AccordionHeader>
<AccordionHeader><Text>Team Models</Text></AccordionHeader>
<AccordionBody className="absolute right-0 z-10 bg-white p-2 shadow-lg max-w-xs">
<List>
{modelsToDisplay.map((model: string) => (