32 lines
855 B
Python
32 lines
855 B
Python
"""
|
|
Example custom auth function.
|
|
|
|
This will allow all keys starting with "my-custom-key" to pass through.
|
|
"""
|
|
|
|
from typing import Union
|
|
|
|
from fastapi import Request
|
|
|
|
from litellm.proxy._types import ProxyException, UserAPIKeyAuth
|
|
|
|
|
|
async def user_api_key_auth(
|
|
request: Request, api_key: str
|
|
) -> Union[UserAPIKeyAuth, str]:
|
|
try:
|
|
if api_key.startswith("my-custom-key"):
|
|
return "sk-P1zJMdsqCPNN54alZd_ETw"
|
|
if api_key == "invalid-api-key":
|
|
# raise a custom exception back to the client
|
|
raise ProxyException(
|
|
message="Invalid API key",
|
|
type="invalid_request_error",
|
|
param="api_key",
|
|
code=401,
|
|
)
|
|
else:
|
|
raise Exception("Invalid API key")
|
|
except Exception:
|
|
raise Exception("Invalid API key")
|