From 8de7074614f62ec622e085c527b8a923f967e29d Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Sat, 8 Jun 2024 21:02:47 -0700 Subject: [PATCH] [Feature]: Proxy: Support API-Key --- litellm/proxy/proxy_server.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index 5a068dd6831..40fca0c046e 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -368,6 +368,11 @@ from typing import Dict api_key_header = APIKeyHeader( name="Authorization", auto_error=False, description="Bearer token" ) +azure_api_key_header = APIKeyHeader( + name="API-Key", + auto_error=False, + description="Some older versions of the openai Python package will send an API-Key header with just the API key ", +) user_api_base = None user_model = None user_debug = False @@ -508,13 +513,19 @@ async def check_request_disconnection(request: Request, llm_api_call_task): async def user_api_key_auth( - request: Request, api_key: str = fastapi.Security(api_key_header) + request: Request, + api_key: str = fastapi.Security(api_key_header), + azure_api_key_header: str = fastapi.Security(azure_api_key_header), ) -> UserAPIKeyAuth: global master_key, prisma_client, llm_model_list, user_custom_auth, custom_db_client, general_settings, proxy_logging_obj try: if isinstance(api_key, str): passed_in_key = api_key api_key = _get_bearer_token(api_key=api_key) + + elif isinstance(azure_api_key_header, str): + api_key = azure_api_key_header + parent_otel_span: Optional[Span] = None if open_telemetry_logger is not None: parent_otel_span = open_telemetry_logger.tracer.start_span(