
    Ki                     V    d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ  G d de      Zy)	   )
BaseServer)InvalidClientError)InvalidTokenError)MissingRequiredParameterError)OAuth1Requestc                       e Zd Zd Zd Zy)ResourceProtectorc                 f   t        ||||      }|j                  st        d      | j                  |j                        }|s
t	               ||_        |j                  st        d      | j                  |      }|s
t               ||_	        | j                  |       | j                  |       |S )Noauth_consumer_keyoauth_token)r   	client_idr   get_client_by_idr   clienttokenget_token_credentialr   
credentialvalidate_timestamp_and_noncevalidate_oauth_signature)selfmethoduribodyheadersrequestr   r   s           u/home/jay/workspace/scripts/.codegraph-venv/lib/python3.12/site-packages/authlib/oauth1/rfc5849/resource_protector.pyvalidate_requestz"ResourceProtector.validate_request	   s    T7;  /0DEE&&w'8'89$&&}}/>>))'2#%%"))'2%%g.    c                     t               )zFetch the token credential from data store like a database,
        framework should implement this function.

        :param request: OAuth1Request instance
        :return: Token model instance
        )NotImplementedError)r   r   s     r   r   z&ResourceProtector.get_token_credential    s     "##r   N)__name__
__module____qualname__r   r    r   r   r	   r	      s    .$r   r	   N)	base_serverr   errorsr   r   r   wrapperr   r	   r#   r   r   <module>r'      s     # & % 1 "$
 $r   