ai-station/.venv/lib/python3.12/site-packages/litellm/integrations/custom_sso_handler.py

29 lines
921 B
Python

from fastapi import Request
from fastapi_sso.sso.base import OpenID
from litellm.integrations.custom_logger import CustomLogger
class CustomSSOLoginHandler(CustomLogger):
"""
Custom logger for the UI SSO sign in
Use this to parse the request headers and return a OpenID object
Useful when you have an OAuth proxy in front of LiteLLM
and you want to use the headers from the proxy to sign in the user
"""
async def handle_custom_ui_sso_sign_in(
self,
request: Request,
) -> OpenID:
request_headers_dict = dict(request.headers)
return OpenID(
id=request_headers_dict.get("x-litellm-user-id"),
email=request_headers_dict.get("x-litellm-user-email"),
first_name="Test",
last_name="Test",
display_name="Test",
picture="https://test.com/test.png",
provider="test",
)