o
    ©D®fè  ã                   @   sX   d dl Z d dlmZ d dlmZ 		ddd„Z		ddd„Z			dd
d„Zddd„ZdS )é    N)Újwt)Úgenerate_tokenc                 K   sž   |d u ri }|  dd ¡}	|	r|	|d< d|vrtdƒ‚||dœ}
|r%||
d< |s-tt ¡ ƒ}|  dd¡}|s9|| }||
d< ||
d< |rH|
 |¡ t ||
| ¡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   © r   úY/home/ubuntu/webapp/venv/lib/python3.10/site-packages/authlib/oauth2/rfc7523/assertion.pyÚsign_jwt_bearer_assertion   s(   

r   ÚHS256c                 K   ó   t | ||||fi |¤ŽS ©N©Ú_sign)Úclient_secretÚ	client_idÚtoken_endpointr   r   r   r   r   r   Úclient_secret_jwt_sign(   ó   r&   ÚRS256c                 K   r   r    r!   )Úprivate_keyr$   r%   r   r   r   r   r   r   Úprivate_key_jwt_sign-   r'   r*   c           	   	   K   sH   |}|}|}|d u r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   r   r   r   r   r"   2   s   þþr"   )NNNNN)r   N)r(   Nr    )	r   Úauthlib.joser   Úauthlib.common.securityr   r   r&   r*   r"   r   r   r   r   Ú<module>   s    
þ"
ÿ
ÿ