OAuth 2.0 인증
OAuth 2.0 인증 (Oauth 2.0 Authentication)
OAuth2.0 토큰으로 LiteLLM Proxy에 /chat, /embeddings 요청을 보내고 싶을 때 사용해요.
엔터프라이즈 기능이에요. 이 기능을 쓰려면 LiteLLM Enterprise 라이선스가 필요해요. 무료 30일 체험을 시작하거나 데모를 예약할 수 있어요. Enterprise가 제공하는 기능도 확인해 보세요.
출처: 문서
본문
사용법 (Usage)
- 환경 변수 설정:
export OAUTH_TOKEN_INFO_ENDPOINT="https://your-provider.com/token/info"
export OAUTH_USER_ID_FIELD_NAME="sub"
export OAUTH_USER_ROLE_FIELD_NAME="role"
export OAUTH_USER_TEAM_ID_FIELD_NAME="team_id"
OAUTH_TOKEN_INFO_ENDPOINT: OAuth 토큰을 검증하는 URLOAUTH_USER_ID_FIELD_NAME: 토큰 정보 응답에서 사용자 ID가 들어 있는 필드OAUTH_USER_ROLE_FIELD_NAME: 토큰 정보에서 사용자 역할(role) 필드OAUTH_USER_TEAM_ID_FIELD_NAME: 토큰 정보에서 사용자 팀 ID 필드
- litellm config.yaml에서 활성화하기 — config.yaml에 다음을 설정해요:
model_list:
- model_name: gpt-5.6-terra
litellm_params:
model: openai/fake
api_key: fake-key
api_base: https://exampleopenaiendpoint-production.up.railway.app/
general_settings:
master_key: os.environ/LITELLM_MASTER_KEY
enable_oauth2_auth: true
- LiteLLM에 요청 시 토큰 사용하기
curl --location 'http://0.0.0.0:4000/chat/completions' \
--header 'Content-Type: application/json' \
--data '{
"model": "gpt-5.6-terra",
"messages": [
{
"role": "user",
"content": "what llm are you"
}
]
}'
디버깅 (Debugging)
LiteLLM Proxy를 --detailed_debug 모드로 시작하면 더 상세한 로그를 볼 수 있어요.
OAuth2 + JWT 함께 사용하기
LiteLLM은 두 가지 OAuth2 + JWT 모드를 지원해요:
- 전역 OAuth2 모드 (
enable_oauth2_auth: true) — OAuth2 인증이 LLM + 정보(info) 라우트에서 활성화돼요. - 선택적 JWT 오버라이드 모드 (
enable_oauth2_auth: false) —litellm_jwtauth.routing_overrides와 일치하는 JWT 모양 토큰만 LLM + info 라우트에서 OAuth2로 라우팅돼요.
선택적 라우팅(특정 JWT에만 OAuth2)을 하려면 이렇게 설정해요:
general_settings:
enable_jwt_auth: true
enable_oauth2_auth: false
litellm_jwtauth:
routing_overrides:
- iss: "machine-issuer.example.com"
client_id: "MID_LITELLM"
path: "oauth2"
선택자(selector)는 셸 스타일 와일드카드(*, ?, 대소문자 구분)를 지원하며 단일 문자열 또는 문자열 목록을 받아요.
routing_overrides의 전체 동작(지원 선택자, 와일드카드·목록 의미, 매칭 규칙)은 /proxy/token_auth 문서를 참고해요.