
    i[f=                     :    d dl mZ  G d de          Zd Zd ZdS )    )RevocationEndpointc                       e Zd ZdZd Zd ZdS )r   a  The revocation endpoint for OAuth authorization servers allows clients
    to notify the authorization server that a previously obtained refresh or
    access token is no longer needed.

    Register it into authorization server, and create token endpoint response
    for token revocation::

        from django.views.decorators.http import require_http_methods

        # see register into authorization server instance
        server.register_endpoint(RevocationEndpoint)

        @require_http_methods(["POST"])
        def revoke_token(request):
            return server.create_endpoint_response(
                RevocationEndpoint.ENDPOINT_NAME,
                request
            )
    c                     | j         j        }|dk    rt          ||          }n9|dk    rt          ||          }n"t          ||          }|st          ||          }|S )z$Query requested token from database.access_tokenrefresh_token)servertoken_model_query_access_token_query_refresh_token)selftokentoken_type_hintr	   rvs        `/var/www/piapp/venv/lib/python3.11/site-packages/authlib/integrations/django_oauth2/endpoints.pyquery_tokenzRevocationEndpoint.query_token   so    k-n,,$[%88BB//%k599BB$[%88B >)+u==	    c                 <    d|_         |                                 dS )zMark the give token as revoked.TN)revokedsave)r   r   requests      r   revoke_tokenzRevocationEndpoint.revoke_token'   s    

r   N)__name__
__module____qualname____doc__r   r    r   r   r   r      s<         (      r   r   c                 \    	 | j                             |          S # | j        $ r Y d S w xY w)N)r   objectsgetDoesNotExistr	   r   s     r   r
   r
   -   sF    "&&E&:::#   tt    
++c                 \    	 | j                             |          S # | j        $ r Y d S w xY w)N)r   r   r"   s     r   r   r   4   sF    "&&U&;;;#   ttr#   N)authlib.oauth2.rfc7009r   _RevocationEndpointr
   r   r   r   r   <module>r'      sk    L L L L L L& & & & &, & & &R      r   