mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-09 03:18:44 +00:00
Allow wildcard routes for nonproxy admin (SCIM) (#17178)
* checked for wildcards in nonproxy * ready
This commit is contained in:
parent
bbea83fd93
commit
205a563b65
2 changed files with 34 additions and 0 deletions
|
|
@ -241,6 +241,12 @@ class RouteChecks:
|
|||
route_allowed = True
|
||||
break
|
||||
|
||||
if RouteChecks._route_matches_wildcard_pattern(
|
||||
route=route, pattern=allowed_route
|
||||
):
|
||||
route_allowed = True
|
||||
break
|
||||
|
||||
if not route_allowed:
|
||||
RouteChecks._raise_admin_only_route_exception(
|
||||
user_obj=user_obj, route=route
|
||||
|
|
|
|||
|
|
@ -732,3 +732,31 @@ def test_videos_route_with_virtual_key_llm_api_routes():
|
|||
assert (
|
||||
result is True
|
||||
), f"Virtual key with llm_api_routes should be able to access {route}"
|
||||
|
||||
def test_non_proxy_admin_wildcard_allowed_routes():
|
||||
"""Test that nonproxy admin users can still use wildcard routes"""
|
||||
|
||||
user_obj = LiteLLM_UserTable(
|
||||
user_id="test_user",
|
||||
user_email="test@example.com",
|
||||
user_role=LitellmUserRoles.INTERNAL_USER.value,
|
||||
)
|
||||
|
||||
valid_token = UserAPIKeyAuth(
|
||||
user_id="test_user",
|
||||
user_role=LitellmUserRoles.INTERNAL_USER.value,
|
||||
allowed_routes=["/scim/*"],
|
||||
)
|
||||
|
||||
request = MagicMock(spec=Request)
|
||||
request.query_params = {}
|
||||
|
||||
RouteChecks.non_proxy_admin_allowed_routes_check(
|
||||
user_obj=user_obj,
|
||||
_user_role=LitellmUserRoles.INTERNAL_USER.value,
|
||||
route="/scim/v2/Users",
|
||||
request=request,
|
||||
valid_token=valid_token,
|
||||
request_data={},
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue