o
    ÿÑÐbg
  ã                   @   sX   d dl Z d dlmZmZ ddlmZ G dd„ deƒZG dd„ deƒZ	G d	d
„ d
eƒZ
dS )é    N)ÚurlparseÚ
url_decodeé   )ÚInsecureTransportErrorc                       s0   e Zd Z‡ fdd„Zdd„ Zedd„ ƒZ‡  ZS )ÚOAuth2Tokenc                    sV   |  d¡rt|d ƒ|d< n|  d¡r!tt ¡ ƒt|d ƒ |d< tt| ƒ |¡ d S )NÚ
expires_atZ
expires_in)ÚgetÚintÚtimeÚsuperr   Ú__init__)ÚselfÚparams©Ú	__class__© ú^/var/www/secure340b-portal/env/lib/python3.10/site-packages/authlib/oauth2/rfc6749/wrappers.pyr      s   



ÿzOAuth2Token.__init__c                 C   s   |   d¡}|s	d S |t ¡ k S )Nr   )r   r
   )r   r   r   r   r   Ú
is_expired   s   
zOAuth2Token.is_expiredc                 C   s    t |tƒrt || ƒs| |ƒ}|S ©N)Ú
isinstanceÚdict)ÚclsÚtokenr   r   r   Ú	from_dict   s   zOAuth2Token.from_dict)Ú__name__Ú
__module__Ú__qualname__r   r   Úclassmethodr   Ú__classcell__r   r   r   r   r      s
    r   c                   @   s^   e Zd Zddd„Zedd„ ƒZedd„ ƒZedd	„ ƒZed
d„ ƒZedd„ ƒZ	edd„ ƒZ
dS )ÚOAuth2RequestNc                 C   sŽ   t  |¡ || _|| _|| _|pi | _t |¡j| _tt	| jƒƒ| _
| jp&i | _i }| | j
¡ | | j¡ || _d | _d | _d | _d | _d S r   )r   ÚcheckÚmethodÚuriÚbodyÚheadersr   Úqueryr   r   ÚargsÚformÚupdateÚdataZauth_methodÚuserZ
credentialÚclient)r   r!   r"   r#   r$   r)   r   r   r   r      s    


zOAuth2Request.__init__c                 C   ó   | j  d¡S )zýThe authorization server issues the registered client a client
        identifier -- a unique string representing the registration
        information provided by the client. The value is extracted from
        request.

        :return: string
        Ú	client_id©r)   r   ©r   r   r   r   r-   :   s   	zOAuth2Request.client_idc                 C   r,   )NÚresponse_typer.   r/   r   r   r   r0   E   ó   zOAuth2Request.response_typec                 C   r,   )NÚ
grant_typer.   r/   r   r   r   r2   I   r1   zOAuth2Request.grant_typec                 C   r,   )NÚredirect_urir.   r/   r   r   r   r3   M   r1   zOAuth2Request.redirect_uric                 C   r,   )NÚscoper.   r/   r   r   r   r4   Q   r1   zOAuth2Request.scopec                 C   r,   )NÚstater.   r/   r   r   r   r5   U   r1   zOAuth2Request.state©NN)r   r   r   r   Úpropertyr-   r0   r2   r3   r4   r5   r   r   r   r   r      s    






r   c                   @   s   e Zd Zddd„ZdS )ÚHttpRequestNc                 C   s&   || _ || _|| _|pi | _d | _d S r   )r!   r"   r)   r$   r*   )r   r!   r"   r)   r$   r   r   r   r   [   s
   

zHttpRequest.__init__r6   )r   r   r   r   r   r   r   r   r8   Z   s    r8   )r
   Zauthlib.common.urlsr   r   Úerrorsr   r   r   Úobjectr   r8   r   r   r   r   Ú<module>   s    >