mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 19:24:27 +00:00
Merge pull request #4382 from BerriAI/litellm_ui_fix_login_bug
[Fix] - Admin UI login bug
This commit is contained in:
commit
26790352db
1 changed files with 20 additions and 32 deletions
|
@ -7508,12 +7508,6 @@ async def login(request: Request):
|
||||||
litellm_dashboard_ui += "/ui/"
|
litellm_dashboard_ui += "/ui/"
|
||||||
import jwt
|
import jwt
|
||||||
|
|
||||||
if litellm_master_key_hash is None:
|
|
||||||
raise HTTPException(
|
|
||||||
status_code=500,
|
|
||||||
detail={"error": "No master key set, please set LITELLM_MASTER_KEY"},
|
|
||||||
)
|
|
||||||
|
|
||||||
jwt_token = jwt.encode(
|
jwt_token = jwt.encode(
|
||||||
{
|
{
|
||||||
"user_id": user_id,
|
"user_id": user_id,
|
||||||
|
@ -7523,7 +7517,7 @@ async def login(request: Request):
|
||||||
"login_method": "username_password",
|
"login_method": "username_password",
|
||||||
"premium_user": premium_user,
|
"premium_user": premium_user,
|
||||||
},
|
},
|
||||||
litellm_master_key_hash,
|
master_key,
|
||||||
algorithm="HS256",
|
algorithm="HS256",
|
||||||
)
|
)
|
||||||
litellm_dashboard_ui += "?userID=" + user_id
|
litellm_dashboard_ui += "?userID=" + user_id
|
||||||
|
@ -7578,14 +7572,6 @@ async def login(request: Request):
|
||||||
litellm_dashboard_ui += "/ui/"
|
litellm_dashboard_ui += "/ui/"
|
||||||
import jwt
|
import jwt
|
||||||
|
|
||||||
if litellm_master_key_hash is None:
|
|
||||||
raise HTTPException(
|
|
||||||
status_code=500,
|
|
||||||
detail={
|
|
||||||
"error": "No master key set, please set LITELLM_MASTER_KEY"
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
jwt_token = jwt.encode(
|
jwt_token = jwt.encode(
|
||||||
{
|
{
|
||||||
"user_id": user_id,
|
"user_id": user_id,
|
||||||
|
@ -7595,7 +7581,7 @@ async def login(request: Request):
|
||||||
"login_method": "username_password",
|
"login_method": "username_password",
|
||||||
"premium_user": premium_user,
|
"premium_user": premium_user,
|
||||||
},
|
},
|
||||||
litellm_master_key_hash,
|
master_key,
|
||||||
algorithm="HS256",
|
algorithm="HS256",
|
||||||
)
|
)
|
||||||
litellm_dashboard_ui += "?userID=" + user_id
|
litellm_dashboard_ui += "?userID=" + user_id
|
||||||
|
@ -7642,7 +7628,14 @@ async def onboarding(invite_link: str):
|
||||||
- Get user from db
|
- Get user from db
|
||||||
- Pass in user_email if set
|
- Pass in user_email if set
|
||||||
"""
|
"""
|
||||||
global prisma_client
|
global prisma_client, master_key
|
||||||
|
if master_key is None:
|
||||||
|
raise ProxyException(
|
||||||
|
message="Master Key not set for Proxy. Please set Master Key to use Admin UI. Set `LITELLM_MASTER_KEY` in .env or set general_settings:master_key in config.yaml. https://docs.litellm.ai/docs/proxy/virtual_keys. If set, use `--detailed_debug` to debug issue.",
|
||||||
|
type="auth_error",
|
||||||
|
param="master_key",
|
||||||
|
code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
||||||
|
)
|
||||||
### VALIDATE INVITE LINK ###
|
### VALIDATE INVITE LINK ###
|
||||||
if prisma_client is None:
|
if prisma_client is None:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
|
@ -7714,12 +7707,6 @@ async def onboarding(invite_link: str):
|
||||||
litellm_dashboard_ui += "/ui/onboarding"
|
litellm_dashboard_ui += "/ui/onboarding"
|
||||||
import jwt
|
import jwt
|
||||||
|
|
||||||
if litellm_master_key_hash is None:
|
|
||||||
raise HTTPException(
|
|
||||||
status_code=500,
|
|
||||||
detail={"error": "No master key set, please set LITELLM_MASTER_KEY"},
|
|
||||||
)
|
|
||||||
|
|
||||||
jwt_token = jwt.encode(
|
jwt_token = jwt.encode(
|
||||||
{
|
{
|
||||||
"user_id": user_obj.user_id,
|
"user_id": user_obj.user_id,
|
||||||
|
@ -7729,7 +7716,7 @@ async def onboarding(invite_link: str):
|
||||||
"login_method": "username_password",
|
"login_method": "username_password",
|
||||||
"premium_user": premium_user,
|
"premium_user": premium_user,
|
||||||
},
|
},
|
||||||
litellm_master_key_hash,
|
master_key,
|
||||||
algorithm="HS256",
|
algorithm="HS256",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -7862,11 +7849,18 @@ def get_image():
|
||||||
@app.get("/sso/callback", tags=["experimental"], include_in_schema=False)
|
@app.get("/sso/callback", tags=["experimental"], include_in_schema=False)
|
||||||
async def auth_callback(request: Request):
|
async def auth_callback(request: Request):
|
||||||
"""Verify login"""
|
"""Verify login"""
|
||||||
global general_settings, ui_access_mode, premium_user
|
global general_settings, ui_access_mode, premium_user, master_key
|
||||||
microsoft_client_id = os.getenv("MICROSOFT_CLIENT_ID", None)
|
microsoft_client_id = os.getenv("MICROSOFT_CLIENT_ID", None)
|
||||||
google_client_id = os.getenv("GOOGLE_CLIENT_ID", None)
|
google_client_id = os.getenv("GOOGLE_CLIENT_ID", None)
|
||||||
generic_client_id = os.getenv("GENERIC_CLIENT_ID", None)
|
generic_client_id = os.getenv("GENERIC_CLIENT_ID", None)
|
||||||
# get url from request
|
# get url from request
|
||||||
|
if master_key is None:
|
||||||
|
raise ProxyException(
|
||||||
|
message="Master Key not set for Proxy. Please set Master Key to use Admin UI. Set `LITELLM_MASTER_KEY` in .env or set general_settings:master_key in config.yaml. https://docs.litellm.ai/docs/proxy/virtual_keys. If set, use `--detailed_debug` to debug issue.",
|
||||||
|
type="auth_error",
|
||||||
|
param="master_key",
|
||||||
|
code=status.HTTP_500_INTERNAL_SERVER_ERROR,
|
||||||
|
)
|
||||||
redirect_url = os.getenv("PROXY_BASE_URL", str(request.base_url))
|
redirect_url = os.getenv("PROXY_BASE_URL", str(request.base_url))
|
||||||
if redirect_url.endswith("/"):
|
if redirect_url.endswith("/"):
|
||||||
redirect_url += "sso/callback"
|
redirect_url += "sso/callback"
|
||||||
|
@ -8140,12 +8134,6 @@ async def auth_callback(request: Request):
|
||||||
|
|
||||||
import jwt
|
import jwt
|
||||||
|
|
||||||
if litellm_master_key_hash is None:
|
|
||||||
raise HTTPException(
|
|
||||||
status_code=500,
|
|
||||||
detail={"error": "No master key set, please set LITELLM_MASTER_KEY"},
|
|
||||||
)
|
|
||||||
|
|
||||||
jwt_token = jwt.encode(
|
jwt_token = jwt.encode(
|
||||||
{
|
{
|
||||||
"user_id": user_id,
|
"user_id": user_id,
|
||||||
|
@ -8155,7 +8143,7 @@ async def auth_callback(request: Request):
|
||||||
"login_method": "sso",
|
"login_method": "sso",
|
||||||
"premium_user": premium_user,
|
"premium_user": premium_user,
|
||||||
},
|
},
|
||||||
litellm_master_key_hash,
|
master_key,
|
||||||
algorithm="HS256",
|
algorithm="HS256",
|
||||||
)
|
)
|
||||||
litellm_dashboard_ui += "?userID=" + user_id
|
litellm_dashboard_ui += "?userID=" + user_id
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue