29 lines
921 B
Python
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",
|
|
) |