
    gv                          d dl mZ dedefdZy)    )UserAPIKeyAuthtokenreturnc                 |  K   ddl }ddl}ddlm} ddlm}m} ddlm} ddl	m
} |dur"t        d|j                  j                  z         |j                  d	|        |j                  d
      }|j                   j#                  dd      }	|j                   j#                  dd      }
|j                   j#                  dd      }|st        d       ||j$                        }d|  dd}	 |j#                  ||       d{   }|j'                          |j)                         }|j                  d| |       |j#                  |	      }|j#                  |      }|j#                  |
      }t+        | |||      S 7 y# |j,                  $ r}t        d|       d}~wt.        $ r}t        d|       d}~ww xY ww)a4  
    Makes a request to the token info endpoint to validate the OAuth2 token.

    Args:
    token (str): The OAuth2 token to validate.

    Returns:
    Literal[True]: If the token is valid.

    Raises:
    ValueError: If the token is invalid, the request fails, or the token info endpoint is not set.
    r   N)verbose_proxy_logger)get_async_httpx_clienthttpxSpecialProvider)CommonProxyErrors)premium_userTz;Oauth2 token validation is only available for premium usersz$Oauth2 token validation for token=%sOAUTH_TOKEN_INFO_ENDPOINTOAUTH_USER_ID_FIELD_NAMEsubOAUTH_USER_ROLE_FIELD_NAMEroleOAUTH_USER_TEAM_ID_FIELD_NAMEteam_idz9OAUTH_TOKEN_INFO_ENDPOINT environment variable is not set)llm_providerzBearer zapplication/json)AuthorizationzContent-Type)headerszBOauth2 token validation for token=%s, response from /token/info=%s)api_keyr   user_id	user_rolez#Oauth 2.0 Token validation failed: z+An error occurred during token validation: )oshttpxlitellm._loggingr   &litellm.llms.custom_httpx.http_handlerr   r	   litellm.proxy._typesr
   litellm.proxy.proxy_serverr   
ValueErrornot_premium_uservaluedebuggetenvenvirongetOauth2Checkraise_for_statusjsonr   HTTPStatusError	Exception)r   r   r   r   r   r	   r
   r   token_info_endpointuser_id_field_nameuser_role_field_nameuser_team_id_field_nameclientr   responsedatar   user_team_idr   es                       T/var/www/openai/venv/lib/python3.12/site-packages/litellm/proxy/auth/oauth2_check.pycheck_oauth2_tokenr5      s     5 774I00667
 	

 EuM))$?@(BEJ::>>*FO jjnn-LiXTUU#1E1Q1QRF")% 1CUVG L$7II 	!!# }}""P	
 ((-.xx 78HH12	 	
 	
) J4    D>qcBCC LFqcJKKLsI   C(F<+E= E;A8E= :F<;E= =F9FF9&F44F99F<N)r   r   strr5        r4   <module>r9      s!    /LLC LLN LLr8   