From eba76377ca4103dfc465b5c464f5b37a9b44b679 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Wed, 18 Sep 2024 16:28:37 -0700 Subject: [PATCH] [Chore-Proxy] enforce jwt auth as enterprise feature (#5770) * enforce prometheus as enterprise feature * show correct error on prometheus metric when not enrterprise user * docs promethues metrics enforced * docs enforce JWT auth * enforce JWT auth as enterprise feature * fix merge conflicts --- docs/my-website/docs/proxy/token_auth.md | 8 ++++++-- litellm/proxy/auth/user_api_key_auth.py | 6 ++++++ litellm/proxy/proxy_config.yaml | 6 ------ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/my-website/docs/proxy/token_auth.md b/docs/my-website/docs/proxy/token_auth.md index 049ea0f98ec..87d1b524338 100644 --- a/docs/my-website/docs/proxy/token_auth.md +++ b/docs/my-website/docs/proxy/token_auth.md @@ -7,11 +7,15 @@ Use JWT's to auth admins / projects into the proxy. :::info -This is a new feature, and subject to changes based on feedback. +✨ JWT-based Auth is on LiteLLM Enterprise starting at $250/mo + +[Enterprise Pricing](https://www.litellm.ai/#pricing) + +[Contact us here to get a free trial](https://calendly.com/d/4mp-gd3-k5k/litellm-1-1-onboarding-chat) -*UPDATE*: This will be moving to the [enterprise tier](./enterprise.md), once it's out of beta (~by end of April). ::: + ## Usage ### Step 1. Setup Proxy diff --git a/litellm/proxy/auth/user_api_key_auth.py b/litellm/proxy/auth/user_api_key_auth.py index 36fe8ce7333..58072576e0f 100644 --- a/litellm/proxy/auth/user_api_key_auth.py +++ b/litellm/proxy/auth/user_api_key_auth.py @@ -218,6 +218,12 @@ async def user_api_key_auth( return await handle_oauth2_proxy_request(request=request) if general_settings.get("enable_jwt_auth", False) is True: + from litellm.proxy.proxy_server import premium_user + + if premium_user is not True: + raise ValueError( + f"JWT Auth is an enterprise only feature. {CommonProxyErrors.not_premium_user.value}" + ) is_jwt = jwt_handler.is_jwt(token=api_key) verbose_proxy_logger.debug("is_jwt: %s", is_jwt) if is_jwt: diff --git a/litellm/proxy/proxy_config.yaml b/litellm/proxy/proxy_config.yaml index 09ba661676a..89a0bb564b1 100644 --- a/litellm/proxy/proxy_config.yaml +++ b/litellm/proxy/proxy_config.yaml @@ -6,9 +6,3 @@ model_list: api_base: https://exampleopenaiendpoint-production.up.railway.app - - -litellm_settings: - success_callback: ["gcs_bucket"] - -