From 5857b02bfc9a0c28d67883521436eea16170abcb Mon Sep 17 00:00:00 2001 From: ishaan-jaff Date: Fri, 16 Feb 2024 14:40:27 -0800 Subject: [PATCH] (feat) generic sso, set generic_user_id_attribute_name --- litellm/proxy/proxy_server.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index c563396387e..b307852b4e7 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -4826,6 +4826,25 @@ async def auth_callback(request: Request): # User is Authe'd in - generate key for the UI to access Proxy user_email = getattr(result, "email", None) user_id = getattr(result, "id", None) + + # generic client id + if generic_client_id is not None: + generic_user_id_attribute_name = os.getenv("GENERIC_USER_ID_ATTRIBUTE", "email") + generic_user_email_attribute_name = os.getenv( + "GENERIC_USER_EMAIL_ATTRIBUTE", "email" + ) + generic_user_role_attribute_name = os.getenv( + "GENERIC_USER_ROLE_ATTRIBUTE", "role" + ) + + verbose_proxy_logger.debug( + f" generic_user_id_attribute_name: {generic_user_id_attribute_name}\n generic_user_email_attribute_name: {generic_user_email_attribute_name}\n generic_user_role_attribute_name: {generic_user_role_attribute_name}" + ) + + user_id = getattr(result, generic_user_id_attribute_name, None) + user_email = getattr(result, generic_user_email_attribute_name, None) + user_role = getattr(result, generic_user_role_attribute_name, None) + if user_id is None: user_id = getattr(result, "first_name", "") + getattr(result, "last_name", "") response = await generate_key_helper_fn(