From ffbcb8b48c1cac9b835fd805f72079e9abc4d722 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 13 Jun 2026 22:00:08 +0000 Subject: [PATCH] fix(auth_v2): resolve mypy arg-type errors in security and jwt credential mapping --- litellm/proxy/auth_v2/authenticators/utils.py | 3 ++- litellm/proxy/auth_v2/security.py | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/litellm/proxy/auth_v2/authenticators/utils.py b/litellm/proxy/auth_v2/authenticators/utils.py index f205f471f33..42bf209f374 100644 --- a/litellm/proxy/auth_v2/authenticators/utils.py +++ b/litellm/proxy/auth_v2/authenticators/utils.py @@ -64,6 +64,7 @@ def credential_from_claims( ) -> Credential: header = jwt.get_unverified_header(token) issuer = claims.get("iss") + jti = claims.get("jti") return Credential( scheme=scheme, method=method, @@ -73,7 +74,7 @@ def credential_from_claims( scopes=split_scope(claims.get("scope")), claims=claims, credential_ref=CredentialRef( - key_id=header.get("kid"), token_id=claims.get("jti") + key_id=header.get("kid"), token_id=jti if isinstance(jti, str) else None ), subject_token=token, ) diff --git a/litellm/proxy/auth_v2/security.py b/litellm/proxy/auth_v2/security.py index 9fd3562af50..8ee83ac5c57 100644 --- a/litellm/proxy/auth_v2/security.py +++ b/litellm/proxy/auth_v2/security.py @@ -1,9 +1,12 @@ import os -from typing import Annotated, Callable, Dict, List, Optional +from typing import TYPE_CHECKING, Annotated, Callable, Dict, List, Optional, cast from fastapi import Request, Security from fastapi.security import SecurityScopes +if TYPE_CHECKING: + from redis.asyncio import Redis + from litellm._redis import get_redis_async_client from litellm.proxy.auth_v2 import errors from litellm.proxy.auth_v2.authenticators import ( @@ -50,7 +53,9 @@ def _open_session_store( silently stranding state on one pod. """ if any(os.getenv(signal) for signal in _REDIS_ENV_SIGNALS): - return RedisSessionStore(get_redis_async_client(), namespace, default_ttl) + return RedisSessionStore( + cast("Redis", get_redis_async_client()), namespace, default_ttl + ) return InMemorySessionStore(namespace, default_ttl)