+
    8i                       R t ^ RIHt ^ RIt^ RIt^ RIHtHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ] ! R R	4      4       t] ! R
 R4      4       t] ! R R4      4       t ! R R]P&                  4      t] ! R R4      4       t ^tRt^t^<tRt ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR R lt R# ) zFConstants, types, and classes shared across OIDC auth implementations.)annotationsN)	dataclassfield)Optional)quote)_get_azure_response)_get_gcp_responsec                  Z    ] tR t^t$ R]R&   ]! RR7      tR]R&   ]! RR7      tR]R&   R	tR# )
OIDCIdPInfostrissuerNdefaultOptional[str]clientIdzOptional[list[str]]requestScopes )	__name__
__module____qualname____firstlineno____annotations__r   r   r   __static_attributes__r       V/var/www/html/photoedit/myenv/lib/python3.14/site-packages/pymongo/auth_oidc_shared.pyr
   r
      s&    K#D1Hm1).t)<M&<r   r
   c                  n    ] tR t^$t$ R]R&   R]R&   R]R&   ]! RR7      tR	]R
&   ]! RR7      tR]R&   RtR# )OIDCCallbackContextfloattimeout_secondsr   usernameintversionNr   r   refresh_tokenzOptional[OIDCIdPInfo]idp_infor   )	r   r   r   r   r   r   r"   r#   r   r   r   r   r   r   $   s1    ML#(#6M=6&+D&9H#9r   r   c                  Z    ] tR t^-t$ R]R&   ]! RR7      tR]R&   ]! RR7      tR]R&   R	tR# )
OIDCCallbackResultr   access_tokenNr   zOptional[float]expires_in_secondsr   r"   r   )	r   r   r   r   r   r   r'   r"   r   r   r   r   r%   r%   -   s'    */*==#(#6M=6r   r%   c                  D    ] tR t^4tRt]P                  R R l4       tRtR# )OIDCCallbackz)A base class for defining OIDC callbacks.c                    V ^8  d   QhRRRR/#    contextr   returnr%   r   )formats   "r   __annotate__OIDCCallback.__annotate__8   s     > >0 >5G >r   c                    R# )z/Convert the given BSON value into our own type.Nr   selfr-   s   &&r   fetchOIDCCallback.fetch7   s    r   r   N)	r   r   r   r   __doc__abcabstractmethodr5   r   r   r   r   r)   r)   4   s    3> >r   r)   c                      ] tR t^<t$ ]! RR7      tR]R&   ]! RR7      tR]R&   ]! RR7      tR]R&   ]! ]	R7      t
R	]R
&   ]! RR7      tR]R&   RtR]R&   RtR# )_OIDCPropertiesNr   zOptional[OIDCCallback]callbackhuman_callbackr   environment)default_factoryz	list[str]allowed_hoststoken_resource r   r   r   )r   r   r   r   r   r<   r   r=   r>   listr@   rA   r   r   r   r   r   r;   r;   <   sY    ',T':H$:-24-@N*@!&t!4K4$T:M9:$)$$7NM7Hcr   r;   g?c                  "    ] tR t^OtR R ltRtR# )_OIDCTestCallbackc                    V ^8  d   QhRRRR/# r+   r   )r/   s   "r   r0   _OIDCTestCallback.__annotate__P         G G0 G5G Gr   c                	   \         P                  P                  R 4      pV'       g   \        R4      h\	        V4      ;_uu_ 4       p\        VP                  4       P                  4       R7      uuRRR4       #   + '       g   i     R# ; i)OIDC_TOKEN_FILEzIMONGODB-OIDC with an "test" provider requires "OIDC_TOKEN_FILE" to be setr&   NosenvirongetRuntimeErroropenr%   readstripr4   r-   
token_filefids   &&  r   r5   _OIDCTestCallback.fetchP   s]    ZZ^^$56
[  *%388:3C3C3EF    (A99B
	r   Nr   r   r   r   r5   r   r   r   r   rE   rE   O       G Gr   rE   c                  "    ] tR t^ZtR R ltRtR# )_OIDCAWSCallbackc                    V ^8  d   QhRRRR/# r+   r   )r/   s   "r   r0   _OIDCAWSCallback.__annotate__[   rH   r   c                	   \         P                  P                  R 4      pV'       g   \        R4      h\	        V4      ;_uu_ 4       p\        VP                  4       P                  4       R7      uuRRR4       #   + '       g   i     R# ; i)AWS_WEB_IDENTITY_TOKEN_FILEzTMONGODB-OIDC with an "aws" provider requires "AWS_WEB_IDENTITY_TOKEN_FILE" to be setrK   NrL   rT   s   &&  r   r5   _OIDCAWSCallback.fetch[   s]    ZZ^^$AB
f  *%388:3C3C3EF rX   r   NrY   r   r   r   r\   r\   Z   rZ   r   r\   c                  .    ] tR t^etR R ltR R ltRtR# )_OIDCAzureCallbackc                    V ^8  d   QhRRRR/# r,   rA   r   r.   Noner   )r/   s   "r   r0   _OIDCAzureCallback.__annotate__f        4 4s 4t 4r   c                	&    \        V4      V n        R # Nr   rA   r4   rA   s   &&r   __init___OIDCAzureCallback.__init__f       #N3r   c                    V ^8  d   QhRRRR/# r+   r   )r/   s   "r   r0   rg   i   s     
 
0 
5G 
r   c                	    \        V P                  VP                  VP                  4      p\	        VR ,          VR,          R7      # )r&   
expires_in)r&   r'   )r   rA   r   r   r%   r4   r-   resps   && r   r5   _OIDCAzureCallback.fetchi   s>    "4#6#68H8H'JaJab!n-$|BT
 	
r   rA   Nr   r   r   r   rm   r5   r   r   r   r   rc   rc   e   s    4
 
r   rc   c                  .    ] tR t^ptR R ltR R ltRtR# )_OIDCGCPCallbackc                    V ^8  d   QhRRRR/# re   r   )r/   s   "r   r0   _OIDCGCPCallback.__annotate__q   rh   r   c                	&    \        V4      V n        R # rj   rk   rl   s   &&r   rm   _OIDCGCPCallback.__init__q   ro   r   c                    V ^8  d   QhRRRR/# r+   r   )r/   s   "r   r0   r{   t   s      E E0 E5G Er   c                	h    \        V P                  VP                  4      p\        VR ,          R7      # )r&   rK   )r   rA   r   r%   rs   s   && r   r5   _OIDCGCPCallback.fetcht   s*     !4!4g6M6MN!tN/CDDr   rv   Nrw   r   r   r   ry   ry   p   s    4E Er   ry   c                  "    ] tR t^ytR R ltRtR# )_OIDCK8SCallbackc                    V ^8  d   QhRRRR/# r+   r   )r/   s   "r   r0   _OIDCK8SCallback.__annotate__z   s      A A0 A5G Ar   c                	*    \        \        4       R 7      # )rK   )r%   _get_k8s_tokenr3   s   &&r   r5   _OIDCK8SCallback.fetchz   s    !~/?@@r   r   NrY   r   r   r   r   r   y   s    A Ar   r   c                   V ^8  d   QhRR/# )r,   r.   r   r   )r/   s   "r   r0   r0   ~   s       r   c                     R p R F1  pV\         P                  9   g   K  \         P                  V,          p K3  	  \        V 4      ;_uu_ 4       pVP                  4       uuRRR4       #   + '       g   i     R# ; i)z3/var/run/secrets/kubernetes.io/serviceaccount/tokenN)AZURE_FEDERATED_TOKEN_FILEr`   )rM   rN   rQ   rR   )fnamekeyrV   s      r   r   r   ~   sM    AEL"**JJsOE M 
exxz 
s   A((A9	i,  )!r7   
__future__r   r8   rM   dataclassesr   r   typingr   urllib.parser   pymongo._azure_helpersr   pymongo._gcp_helpersr   r
   r   r%   ABCr)   r;   TOKEN_BUFFER_MINUTESHUMAN_CALLBACK_TIMEOUT_SECONDSCALLBACK_VERSION MACHINE_CALLBACK_TIMEOUT_SECONDSTIME_BETWEEN_CALLS_SECONDSrE   r\   rc   ry   r   r   r   r   r   <module>r      s    M " 
 	 (   6 2 = = = : : : 7 7 7>377 >    < !'  #%    G GG| G
 
E| EA| A
r   