
    ~h                     R    d dl Z d dlmZ d dlmZ 	 	 	 	 	 ddZ	 d	dZ	 d
dZddZy)    N)generate_token)jwtc                 J   |i }|j                  dd       }	|	r|	|d<   d|vrt        d      ||d}
|r||
d<   |st        t        j                               }|j                  dd      }|s||z   }||
d<   ||
d<   |r|
j	                  |       t        j                  ||
|       S )	NalgzMissing 'alg' in header)issaudsub
expires_ini  iatexp)pop
ValueErrorinttimeupdater   encode)keyissueraudiencesubject	issued_at
expires_atclaimsheaderkwargsr   payloadr
   s               \/opt/mcp/mcp-sentiment/venv/lib/python3.12/site-packages/authlib/oauth2/rfc7523/assertion.pysign_jwt_bearer_assertionr      s     ~
**UD
!C
uF233X.G  		$	L$/J+
GENGENv::fgs++    c                 "    t        | ||||fi |S N_sign)client_secret	client_idtoken_endpointr   r   r   s         r   client_secret_jwt_signr'   0   s     	>3Q&QQr   c                 "    t        | ||||fi |S r!   r"   )private_keyr%   r&   r   r   r   s         r   private_key_jwt_signr*   6   s     ifOOOr   c           
      ^    |}|}|}|i }d|vrt        d      |d<   t        d| |||||d|S )Njti$   )r   r   r   r   r   r    )r   r   )	r   r%   r&   r   r   r   r   r   r   s	            r   r#   r#   <   sa    FGH ~F&r*u$   r   )NNNNN)HS256N)RS256Nr!   )	r   authlib.common.securityr   authlib.joser   r   r'   r*   r#   r.   r   r   <module>r3      sD     2  &,T CGR AEPr   