ó
    æk7i¶  ã                   óB   • S r SSKJr  SSKJr  SSKJr   " S S\5      rg)	z{authlib.oauth2.rfc6750.validator.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Validate Bearer Token for in request, scope and token.
é   )ÚTokenValidatoré   )ÚInsufficientScopeError)ÚInvalidTokenErrorc                   ó$   • \ rS rSrSrS rS rSrg)ÚBearerTokenValidatoré   Úbearerc                 ó   • [        5       e)a/  A method to query token from database with the given token string.
Developers MUST re-implement this method. For instance::

    def authenticate_token(self, token_string):
        return get_token_from_database(token_string)

:param token_string: A string to represent the access_token.
:return: token
)ÚNotImplementedError)ÚselfÚtoken_strings     ÚZ/home/james-whalen/.local/lib/python3.13/site-packages/authlib/oauth2/rfc6750/validator.pyÚauthenticate_tokenÚ'BearerTokenValidator.authenticate_token   s   € ô "Ó#Ð#ó    c                 óx  • U(       d  [        U R                  U R                  S9eUR                  5       (       a  [        U R                  U R                  S9eUR	                  5       (       a  [        U R                  U R                  S9eU R                  UR                  5       U5      (       a
  [        5       eg)z:Check if token is active and matches the requested scopes.)ÚrealmÚextra_attributesN)r   r   r   Ú
is_expiredÚ
is_revokedÚscope_insufficientÚ	get_scoper   )r   ÚtokenÚscopesÚrequests       r   Úvalidate_tokenÚ#BearerTokenValidator.validate_token   s¥   € æÜ#Ø—j‘j°4×3HÑ3Hñð ð ×Ñ×ÑÜ#Ø—j‘j°4×3HÑ3Hñð ð ×Ñ×ÑÜ#Ø—j‘j°4×3HÑ3Hñð ð ×"Ñ" 5§?¡?Ó#4°f×=Ñ=Ü(Ó*Ð*ð >r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
TOKEN_TYPEr   r   Ú__static_attributes__r   r   r   r   r      s   † Ø€Jò
$õ+r   r   N)Ú__doc__Úrfc6749r   Úerrorsr   r   r   r   r   r   Ú<module>r)      s!   ðñõ %Ý *Ý %ô+˜>õ +r   