
    g                     b    S SK r S SKrS SKrS SKJr  S SKJr  S SKJr  S SKJ	r	   " S S\5      r
g)    N)datetime)AuthType)AuthStrategy)TokenManagerc                   X   ^  \ rS rSrS\4U 4S jjrS\4S jrS\4S jr	S r
S rS	rU =r$ )
TokenAuthStrategy   token_managerc                   > [         TU ]  [        R                  5        Xl        S U l        [        R                  " 5       U l        [        R                  " [        R                  S9  [        R                  " [        5      U l        g )N)level)super__init__r   
ORGS_TOKENr
   token	threadingLocklockloggingbasicConfigINFO	getLogger__name__logger)selfr
   	__class__s     p/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/twilio/auth_strategy/token_auth_strategy.pyr   TokenAuthStrategy.__init__   sU    ,,-*
NN$	',,/''1    returnc                 @    U R                  5         SU R                   3$ )NzBearer )fetch_tokenr   r   s    r   get_auth_string!TokenAuthStrategy.get_auth_string   s    %%r   c                     g)NT r"   s    r   requires_authentication)TokenAuthStrategy.requires_authentication   s    r   c                    U R                   b0  U R                   S:X  d   U R                  U R                   5      (       a  U R                     U R                   b0  U R                   S:X  d   U R                  U R                   5      (       a:  U R                  R	                  S5        U R
                  R                  5       U l         S S S 5        g g ! , (       d  f       g = f)N z0New token fetched for accessing organization API)r   is_token_expiredr   r   infor
   fetch_access_tokenr"   s    r   r!   TokenAuthStrategy.fetch_token   s    ::r!1T5J5J4::5V5VJJ&zzR',,TZZ88KK$$%WX!%!3!3!F!F!HDJ  6Ws   
A8C
Cc                 (    [         R                  " USS0S9nUR                  S5      nUc  g[        R                  " U5      [        R
                  " 5       :  $ ! [         R                   a     g[         a  n[        SU 35         S nAgS nAff = f)Nverify_signatureF)optionsexpTzAn error occurred: )	jwtdecodegetr   fromtimestamputcnowDecodeError	Exceptionprint)r   r   decodedr2   es        r   r+   "TokenAuthStrategy.is_token_expired&   s    	jj1CU0KLG++e$C{ ))#.1BBB 	 	's+,	s"   +A +A B0	B9BB)r   r   r   r
   )r   
__module____qualname____firstlineno__r   r   strr#   boolr'   r!   r+   __static_attributes____classcell__)r   s   @r   r   r      s7    2l 2& & 	I r   r   )r3   r   r   r   twilio.auth_strategy.auth_typer   "twilio.auth_strategy.auth_strategyr   twilio.http.token_managerr   r   r&   r   r   <module>rH      s&    
    3 ; 2* *r   